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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 05:41   #1
Дмитрий Solov
 
Регистрация: 01.12.2011
Сообщений: 5
По умолчанию

Преподователь говорит, что сортировка должна быть методом вставки
В двух одномерных массивах, состоящих из n вещественных элементов, сортировать массивы методом вставки.
Код:
var
   a: array [1..100] of real;
   b: array [1..100] of real;
   i, n, j: integer;
    key: real;
begin
     writeln('n = ');
     readln(n);
     writeln('Vvedi 1 massiv ');
     for i := 1 to n do
         read(a[i]);
     writeln('Vvedi 2 massiv ');
     for i := 1 to n do
         read(b[i]);
     // Сортировка первого массива
     for j := 2 to n do
     begin
          key := a[j];
          i := j - 1;
          while ( (i > 0) and (a[i] > key) ) do
          begin
               a[i + 1] := a[i];
               i := i - 1;
          end;
          a[i + 1] := key;
     end;
     // Сортирвка второго массива
     for j := 2 to n do
     begin
          key := b[j];
          i := j - 1;
          while ( (i > 0) and (b[i] > key) ) do
          begin
               b[i + 1] := b[i];
               i := i - 1;
          end;
          b[i + 1] := key;
     end;
     
     for i := 1 to n do
         write(a[i], ' ');
     writeln;
     for i := 1 to n do
         write(a[i], ' ');
     writeln;
end.
ответьте пжл

Последний раз редактировалось Stilet; 04.12.2011 в 12:31.
Дмитрий Solov вне форума Ответить с цитированием
Старый 04.12.2011, 13:51   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Ответ.

Код:
var
   a, b: array [1..100] of real;
   i, n, j, k, q: integer;
    key, keyy: real;
begin
     writeln('n = ');
     readln(n);
     writeln('Vvedi 1 massiv ');
     for i := 1 to n do  begin
         read(a[i]);
     end;

     for i := 1 to n do
     begin
          key := a[i];
          j:= i - 1;
          while  (j >= 1) and (a[j] < key)  do begin
               a[j + 1] := a[j];
               j := j - 1;
          end;
          a[j + 1] := key;
     end;

     for i := 1 to n do begin
         write(a[i]:3:2,' ');
     end;

     writeln('Vvedi 2 massiv ');
     for k := 1 to n do begin
         read(b[k]);
     end;
     for k := 1 to n do begin
          keyy := b[k];
          q := k - 1;
          while (q >= 1) and (b[q] < keyy)  do begin
               b[q + 1] := b[q];
               q := q - 1;
          end;
          b[q + 1] := keyy;
     end;

     for k := 1 to n do begin
         write(b[k]:3:2, ' ');
     end;
     readln;
end.
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
Быстрая сортировка(сортировка хаора) с++ LustHunter Помощь студентам 3 07.10.2011 19:37
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32