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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2012, 16:42   #1
Андрей77777
Пользователь
 
Регистрация: 14.11.2012
Сообщений: 36
По умолчанию Cортировка методом Пузырька

Помогите по возможности дописать программу!
Нужно отсортировать созданный массив "C" по возрастанию

Код:
program lab;
type mas=array [1..100] of integer;
var a,b,c:mas;  i,j,k,n,f,min,r:integer;
begin
randomize;
for i:=1 to 100 do
begin
a[i]:=random(500);
for j:=1 to i-1 do
while a[i]=a[j] do
a[i]:=random(500);
end;

for i:=1 to 100 do
begin
b[i]:=random(500);
for j:=1 to i-1 do
while b[i]=b[j] do
b[i]:=random(500);
end;

for i:=1 to 100 do
begin
r:=0;
for j:=1 to 100 do
if b[i]=a[j] then r:=1;
if r=0 then c[i]:=b[i];
end;

for i:=1 to 99 do
begin
f:=0;
min:=c[i];
for j:=i+1 to 100 do
if c[j]<min then begin min:=c[i]; k:=j; f:=1 end;
if f=1 then begin
c[k]:=c[i];
c[i]:=min; end; end;

for i:=1 to 100 do
write(a[i]:4);

writeln;
for i:=1 to 100 do
write(b[i]:4);

writeln;
for i:=1 to 100 do
write(c[i]:4);

end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 10.12.2012 в 10:32.
Андрей77777 вне форума Ответить с цитированием
Старый 10.12.2012, 15:01   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не совсем понятно, как Вы формируете массив C из массивов A и B, но, если это опустить (вопрос же в другом, как я понимаю...)

тогда, берём из википедии код сортировки пузырьком
и вставив код получаем:
Код:
program lab;
type mas = array[1..100] of integer;

var a, b, c: mas;
  i, j, n, r: integer;
begin
  n := 100;
  randomize;
  WriteLn('---------------------');
  for i := 1 to n do
  begin
    a[i] := random(500);
    for j := 1 to i - 1 do
      while a[i] = a[j] do
        a[i] := random(500);
  end;

  for i := 1 to n do
  begin
    b[i] := random(500);
    for j := 1 to i - 1 do
      while b[i] = b[j] do
        b[i] := random(500);
  end;

  for i := 1 to n do
  begin
    r := 0;
    for j := 1 to n do
      if b[i] = a[j] then r := 1;
    if r = 0 then c[i] := b[i];
  end;

  Write('Массив A: ');
  for i := 1 to n do
    write(a[i]: 4);
  WriteLn;

  Write('Массив B: ');
  for i := 1 to n do
    write(b[i]: 4);
  WriteLn;

  Write('Массив C (до сортировки): ');
  for i := 1 to n do
    write(C[i]: 4);
  WriteLn;


{сортировка массива C "пузырьком"}

  for j := 1 to n - 1 do
    for i := 1 to n - j do
      if c[i] > c[i + 1] then begin
        r := c[i];
        c[i] := c[i + 1];
        c[i + 1] := r;
      end;

  Write('Массив C (после сортировки): ');
  for i := 1 to n do
    write(C[i]: 4);
  WriteLn;


  Readln
end.
p.s. кроме кода сортировки, я позволил себе ещё небольшие "косметические" улучшения..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cортировка матрицы методом пузырька(Си). ЛетчикАсс Общие вопросы C/C++ 4 28.10.2012 10:29
Вопрос по сортировке методом пузырька Alehandro12 Общие вопросы C/C++ 2 24.12.2011 19:21
C++, убывание методом пузырька STIFLER32 Общие вопросы C/C++ 2 07.02.2011 01:40
курсач по С++ на тему сортировок методом пузырька и челночным методом ffocus Фриланс 13 05.01.2010 20:20
Сортировка методом пузырька fygas1991 Общие вопросы C/C++ 5 15.11.2009 21:39