Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает сортировка
 
 автор: iadventureq   (07.04.2016 в 00:43)   письмо автору
 
 

Здравствуйте. Я новичок.
Мне нужно создать программу, которая выводит на экран заданное кол-во строк (элементов массивов). При этом он должен сортировать строки по уменьшению их длины. Также программа должна сравнивать первые буквы (вторые, если первые одинаковые) строк одинаковой длины и сортировать их по алфавиту.
На данный момент я сделал отдельно сортировку по длине строки и генератор строки случайной длинны и случайных символов.

<html><body><script>
    for (pp = 1; pp <= 20; pp++) // генератор случайной строки
    {
    rand = Math.round(Math.random()*80);
    var result       = '';
    var arr = new Array;
    var words        = '0123456789qwertyuiopasdfghjklzxcvbn mQWERTYUIOPASDFGHJKLZXCVBN';
    var max_position = words.length - 1;
        for( num = 1; num <= rand; num=num+1)
        {
        position = Math.floor ( Math.random() * max_position );
        result = result + words.substring(position, position + 1);
        
        }
    arr[pp] = result;
    }
    var buffer = "";
    for(num2 = 0; num2 < arr.length - 1; num2++) // сортировка по длине
    {
        for(j = 0; j < arr.length - 1; j++)
        {
            if (arr[j].length < arr[j + 1].length)
            {
                buffer = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = buffer;
            }
        }
    }
        
    for (num3 = 0; num3 < arr.length; num3++) {
        document.write(arr[num3] + "<br/>");
    }
</script></body></html>

По отдельности эти две части работают. Проблема лишь в соединении.
P.S. Также, если не трудно, помогите с сортировкой по алфавиту между строк одинаковой длины.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования