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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2008, 08:09   #1
ManU
Пользователь Подтвердите свой е-майл
 
Аватар для ManU
 
Регистрация: 30.04.2008
Сообщений: 78
По умолчанию Сортировка массива

Вот код процедуры сортировки включением.
Скажите как правильно расставить счетчики присваиваний и сравнений, а то судя по тому как их расставил я метод просто реактивный в сравнении с остальными прямыми методами

Код:
procedure insertion(Var a:mass);
Var i,j,k,x,pr,sr: integer;
begin
pr:=0;    {присваивания}
sr:=0;    {сравнения}
for i:=2 to n do
begin
x:=a[i];
j:=1; inc(pr);
while (x>a[j]) do begin
Inc(j); inc(sr);  end;
for k:=i-1 downto j do
a[k+1]:= a[k];
a[j]:=x;
inc(pr);
end;
for i:=1 to n do
write(a[i],' ');
writeln;
writeln('Kol-vo prisvaivanii=',pr,#13#10,'Kol-vo sravnenii=',sr);
end;
ManU вне форума Ответить с цитированием
Старый 21.09.2008, 10:41   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

По моему так:

Код:
procedure insertion(var a:mass);
var i,j,k,x,pr,sr: integer;
begin
   pr:=0;
   sr:=0;
   for i:=2 to n do begin
      x:=a[i]; inc(pr);
      j:=1;

      inc(sr);
      while (x>a[j]) do begin
         Inc(j); inc(sr);
      end;

      for k:=i-1 downto j do begin
         a[k+1]:= a[k]; inc(pr);
      end;

      { Наверно, все-таки не присваиваний, а обменов
        поэтому здесь не считаем, т.к. посчитано в начале
      } 
      a[j]:=x;
   end;

   for i:=1 to n do write(a[i],' ');
   writeln;
   writeln('Kol-vo prisvaivanii=',pr,#13#10,'Kol-vo sravnenii=',sr);
end;
alexBlack вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива С/С++ Dagget Помощь студентам 1 16.07.2008 12:18
Сортировка массива Dagmaria Общие вопросы C/C++ 5 05.07.2008 00:23
Сортировка массива Kraven Общие вопросы Delphi 3 25.06.2008 18:22
Сортировка массива RIO Помощь студентам 1 05.04.2008 17:39
Сортировка массива MuRdErDoLL Помощь студентам 2 20.12.2006 00:58