Начало \- Сделал дело? Да Иди гуляй Конец. Сделал дело? Нет Иди в начало. \- Сделал дело? Да -- Сделал дело? Нет-- // Что-то типо такого, если условие с делом не выполняется, то вы возвращаетесь в начало, где вас опять спрашивают про дело.
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество колонок в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var k:=0; foreach var column in a.Cols do if column.Zip(column.OrderByDescending(x->x),(x,y)->x=y).All(x->x=True) then k+=1; Writeln('k=',k) end.
Пример Количество строк в массиве: 3 Количество колонок в массиве: 9 *** Исходный массив [3,9] *** 42 29 -18 -13 75 -55 73 -41 -34 -13 -25 62 -83 80 83 70 -75 91 -59 45 87 45 18 -87 62 9 27
1) const n=100; var a:array[1..n] of integer; i,k:integer; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(471)-400; write(a[i]:5); end; writeln; write('k = '); readln(k); for i:=1 to n do if a[i]>k then a[i]:=k; writeln('Измененный массив:'); for i:=1 to n do write(a[i]:5); writeln; end.
Пример (для n=10): Массив A: -294 -223 -187 51 -79 -288 -367 38 21 -25 k = Измененный массив: -294 -223 -187 5 -79 -288 -367 5 5 -25
2) const n=50; var a:array[1..n] of integer; i,k:integer; begin Randomize; writeln('Массив A:'); for i:=1 to n do begin a[i]:=random(111)-100; write(a[i]:5); end; writeln; k:=0; for i:=1 to n do if a[i]>0 then k:=k+1; writeln('k = ',k); end.
Пример (для n=10): Массив A: -92 -93 -84 -77 -9 -3 8 -68 -25 -89 k = 1
Сделал дело? Нет Иди в начало. \- Сделал дело? Да --
Сделал дело? Нет--
//
Что-то типо такого, если условие с делом не выполняется, то вы возвращаетесь в начало, где вас опять спрашивают про дело.