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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2017, 21:18   #1
Программистер
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 10
По умолчанию Помощь с кодом

Сортировка вещественного массива (минимум в начало) методом Пузырька.Выводить массив после каждой итерации
Код:
Код:
program Lab7puzyrokprocedure;

{$APPTYPE CONSOLE}
  const
    nmax=10;
      type mas=array[1..nmax] of real;
        procedure puzyrok (const n:integer;out A:mas; var min:real;var res:TextFile);
          var z,j,i:integer;
            begin
              for j := 1 to n-1 do
              for i:=n-1 downto j do
                if abs(A[i])>abs(A[i+1]) then
                  begin
                    min:=A[i];
                    A[i]:=A[i+1];
                    A[i+1]:=min;
                    writeln(res,'Массив после ',i,'-ой итерации');
                            for z:=1 to n do
                              write(res,A[z]:4:1,' ');
                           writeln(res);
                end;
            end;
 var
  n,i:integer;
  A:mas;
  dat,res:TextFile;
  min:real;

begin
    AssignFile(dat,'dat7.txt');reset(dat);
    AssignFile(res,'res7.txt');rewrite(res);
     read(dat,n);
      for i := 1 to n do read(dat,A[i]);
        writeln(res,'Пузырек');
        writeln(res,'n= ',n);
        writeln(res,'Исходный массив : ');
        for i:=1 to n do write(res,A[i]:4:1,' ');
           writeln(res);
           puzyrok(n,A,min,res);
            writeln(res);
            writeln(res,'Сортированный по не убыванию абсолютной величины массив :');
            for i := 1 to n do write(res,A[i]:4:1,' ');
           writeln(res);
           CloseFile(dat);
           CloseFile(res);

end.
Не могу добиться , чтобы корректно выводились индексы итерации

Вот , что получаю:

Пузырек
n= 5
Исходный массив :
5.0 3.0 -1.0 4.0 4.0
Массив после 3-ой итерации
5.0 -1.0 3.0 4.0 4.0
Массив после 2-ой итерации
-1.0 5.0 3.0 4.0 4.0
Массив после 3-ой итерации
-1.0 3.0 5.0 4.0 4.0
Массив после 4-ой итерации
-1.0 3.0 4.0 5.0 4.0
Массив после 5-ой итерации
-1.0 3.0 4.0 4.0 5.0

Сортированный по не убыванию абсолютной величины массив :
-1.0 3.0 4.0 4.0 5.0
Программистер вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь в кодом C++ Snejok.dav.2580 Общие вопросы C/C++ 0 07.11.2015 15:31
Помощь с кодом Liberum34 Общие вопросы C/C++ 7 04.08.2014 23:26
Помощь с кодом screammassacre Общие вопросы C/C++ 4 02.12.2013 15:51
Помощь с кодом. -=Virus=- Помощь студентам 7 24.12.2009 07:38
Нужна помощь с кодом Мучитель excel Microsoft Office Excel 3 05.08.2008 21:40