MelnikovaIvanovna
?>

Напишите вариант метода пузырька, который заканчивает работу, если на очередном шаге внешнего цикла не было перестановок. (pascal)

Информатика

Ответы

Yulechkaakulova1993
Const   n = 10; var   a: array[1..n] of integer;   i, j, t: integer;   flag: boolean;   begin   randomize;   writeln('исходный массив');   for i : = 1 to n do   begin       a[i] : = random(101)-50;       write(a[i]: 4)   end;   writeln;   i: =1;   repeat       flag: =true;       for j : = 1 to n-i do           if a[j] > a[j+1] then           begin t : = a[j]; a[j] : = a[j+1]; a[j+1] : = t; flag: =false end;       inc(i);   until (i> n-1) or flag;   writeln('отсортированный по возрастанию массив');   for i : = 1 to n do write(a[i]: 4);   writeln end. тестовое решение: исходный массив   -32  -7    2    2  50 -33    1  31    4 -16 отсортированный по возрастанию массив   -33 -32 -16  -7    1    2    2    4  31  50
makscska22879
Uses graphabc; var   i, j: integer;   ar: array[1..10]of integer;   b: boolean;   label l1;   begin   b : = false;   for i : = 1 to 10 do ar[i] : = random(10, 300);   l1:   b : = false;   for i : = 1 to 10 do       for j : = 1 to 10 do if((ar[i] = ar[j]) or (abs(ar[i] - ar[j]) < 10)) and (i < > j)       then       begin       b : = true;         ar[i] : = random(30, 300);         end;   if b = true then goto l1;   window.init(0, 0, 800, 600, clwhite);   window.isfixedsize : = true;   randomize;   lockdrawing;   pen.width : = 5;   for i : = 1 to 10 do   begin     pen.color : = rgb(random(0, 255), random(0, 255), random(0, 255));               drawcircle(400, 300, ar[i]);     redraw; end;   end.
sakh2010kprf7
Uses graphabc;   var    i, j: integer;     ar: array[1..10]of integer;     b: boolean;     label l1;     begin    b : = false;     for i : = 1 to 10 do ar[i] : = random(10, 300);     l1:     b : = false;     for i : = 1 to 10 do        for j : = 1 to 10 do if((ar[i] = ar[j]) or (abs(ar[i] - ar[j]) < 10)) and (i < > j)        then        begin        b : = true;         ar[i] : = random(30, 300);           end;     if b = true then goto l1;     window.init(0, 0, 800, 600, clwhite);     window.isfixedsize : = true;     randomize;     lockdrawing;     pen.width : = 5;     for i : = 1 to 10 do    begin      pen.color : = rgb(random(0, 255), random(0, 255), random(0, 255));               drawcircle(400, 300, ar[i]);       redraw; end;   end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите вариант метода пузырька, который заканчивает работу, если на очередном шаге внешнего цикла не было перестановок. (pascal)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

gymnazium
bulenbeiser
Zhanna417
Ярослав
Belov Yekaterina639
besson89
zuzazuza61
annakuznetsova841
zelreiki
zaotar2008
Aleksandrovna1153
delfinmos
cometa94558
Lerkinm
Кочугурова