Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2013, 02:58   #1
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию обьясните метод выполнения массивов

Смотрите есть массив з 5 элементами.
нужно отсортировать его по убыванию

пока сам алгоритм я дошео до такого:
Код:
program adadad;
var
a:array[1..5] of integer;
i,n: integer;
begin
Writeln('Elementi');
for i:=1 to n do
a[i]:= n-1;
End.
что дальше ? If или еще один цыкл?
обьясните плиз на примере любом!
mishammm вне форума Ответить с цитированием
Старый 19.10.2013, 07:45   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

А теперь забудьте о программировании и включите голову. Вот есть набор чисел (например, на детских кубиках):
12 1 9 0 20 23
Как вы будете его упорядочивать?
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 19.10.2013, 11:32   #3
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию

по убыванию: 23,20,12,9,1, 0
mishammm вне форума Ответить с цитированием
Старый 19.10.2013, 12:46   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,381
По умолчанию

mishammm
Цитата:
по убыванию: 23,20,12,9,1, 0
Нет. Речь не о том, что Вы получите в результате,
Ezhik Kihze
Цитата:
12 1 9 0 20 23
Как вы будете его упорядочивать?
а как Вы будете это делать с помощью кубиков.
Пример:
1. Берем первый кубик.
2. Просматриваем все кубики справа (начинаем со следующего) и ищем кубик с максимальным номером.
3. Меняем местами первый и последний, в данном примере, кубики. Для этого первый кубик извлекаем из ряда, на его место ставим последний.
4. Теперь берем второй кубик, см. п.1.
5. Аналогично п.2, просматривая все кубики справа (начинаем со следующего), ищем максимальный.
6. Меняем местами второй с найденным: извлекаем второй кубик, на его место помещаем, в данном примере, предпоследний, извлеченный кубик ставим на место предпоследнего.
И т.д.
Т.е.
а) при написании алгоритма потребуется описать один цикл для последовательного выбора кубиков, см. п.1 и п.4. ...
б) необходимо описать второй цикл, в котором мы будем просматривать кубики и искать максимальный, см. п.2, п.5, ...
в) необходимо, зная номера кубиков, переставлять их местами, см. п.3, п.6, ...
Для этого (для перестановки), можно использовать дополнительное место (переменную), в которую на время переносим номер кубика.
И т.д.

Посмотрите пример в книге Павловской, которая водится тут http://www.programmersforum.ru/showt...?t=8324&page=9. (стр.62)


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 19.10.2013, 12:47   #5
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию

вот немного почитав в и-нете что вышло:
Код:
program laba7_3;
 const n=5;
 var m:array[1..n] of integer;
 k,i,j:integer;
 Begin
      writeln('Vvedit massiv');
      for i:=1 to n do
      read(m[i]);
          for i:=1 to n-1 do
          for j:=i+1 to n do
              if (m[j]>m[i]) then
                begin
                   k:=m[i];
                   m[i]:=m[j];
                   m[j]:=k;
              end;
      writeln('vidsort mas');
      for i:=1 to n do
      writeln(m[i],' ');
      readln(m[i]);
end.
Но вот ошибка: когда ввожу -6,3 выбивает: Ошибка времени выполнения: Входная строка имела неверный формат. Что то с типом переменной не так??? там где array?? мне в задании дано: (3,2;-6.3;-8.3;0.0;1.2),
mishammm вне форума Ответить с цитированием
Старый 19.10.2013, 13:03   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,381
По умолчанию

Да. У Вас тип элементов массива - integer, а требуется вводить вещественные числа, т.е. тип должен быть - real.
И, соответственно, переменная k (используется при перестановке элементов) должна быть типа real.


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 19.10.2013, 13:08   #7
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию

да действительно так поменял все норм спасибо
mishammm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Виртуальный метод просмотра, метод (сравнение символьных массивов) VitaliyH Общие вопросы C/C++ 2 03.05.2013 11:50
Подсчет времени выполнения слияния массивов PavelDD Паскаль, Turbo Pascal, PascalABC.NET 6 20.02.2013 22:14
Метод перебора, Метод дихотомии, Метод золотого сечения Delphi !!! OneBri Помощь студентам 0 03.10.2012 08:42
Обьясните ход выполнения скрипта и как в нем что устроено Зод JavaScript, Ajax 1 26.12.2011 08:08
Пузырьковый метод сортировки массивов Lunex.08 Общие вопросы C/C++ 4 07.10.2010 16:00