Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
444555666
const n = 30; var i, j, k, temp: integer; a: array[1..n] of integer; //= (5, 5, 5, 4, 5, 5, 4, 4, 4, 5 ); begin randomize; for i := 1 to n do // генерим массив из 4 5 6 begin a[i] := 4 + random(3); write(a[i], ' '); // выводим его на экран end; writeln; k := 1; // инициализируем указатели: k для 4, j для 6 j := n; for i := 1 to n do // основной цикл: проверяем элементы массива if (a[i] = 6) and (i < j) then begin // если текущий элемент = 6 (иначе см else = 4) то: while (a[j] = 6) and (i < j) do // пока справа есть 6 и счётчик цикла левее указателя 6 то: j := j-1; // сдвигаем указатель j влево temp := a[i]; // и первую справа НЕ 6 заменяем на 6 a[i] := a[j]; a[j] := temp; j := j - 1; // и не забываем указатель 6 сдвинуть влево if (a[i] = 4) and (k <= i) then // проверяем, если 6 поменялось местами с 4 begin // и счётчик цикла правее указателя 4, то : temp := a[i]; // четвёрку ставим в первое свободное слева место a[i] := a[k]; a[k] := temp; k := k + 1; // и не забываем указатель 4 сдвинуть вправо end; end else if a[i] = 4 then begin // если же текущий элемент = 4, то : temp := a[i]; // меняем местами эту четвёрку на 4 или 5 (шестёрки там уже нет) a[i] := a[k]; a[k] := temp; k := k + 1; // указатель 4 сдвигаем вправо end; for i := 1 to n do // выводим сгруппированный массив на экран write(a[i], ' '); writeln; end.
run
|
edit
|
history
|
help
0
task 3
НОД по моему
калькулятор
НОД через функцию с возможностью вычисления для трёх и более чисел
1
6
mult_matrix.pas
test27
Projet1
test10