Задан массив x(k) вещественных чисел. найти коллво k2 элементов четных. если k2> 0 , заменить min элемент массива на значение k2. вывести x, min, k2 на экран паскаль
var x: array [1..k] of integer; i, min_index, k2: integer;
begin writeln('Enter x:'); for i := 1 to k do begin write('x[', i, '] = '); readln(x[i]); end;
min_index := 1; k2 := 0; for i := 1 to k do begin if x[min_index] > x[i] then min_index := i; if x[i] mod 2 = 0 then k2 := k2 + 1; end;
if k2 > 0 then x[min_index] := k2;
writeln('x:'); for i := 1 to k do writeln('x[', i, '] = ', x[i]); writeln('k2 = ', k2); writeln('min = ', x[min_index]); end.
Щуплова Александр
15.05.2022
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016) function Transpose(a: array[,] of integer): array[,] of integer; //Поворот на 90гр по часовой стрелке begin var m := Length(a, 0); var n := Length(a, 1); Result := new integer[n, m]; for var i := 0 to n-1 do begin for var j := 0 to m-1 do Result[i, j] := a[m-1-j, i]; end; end;
begin var n := ReadInteger('Введите n:'); //Заполнение матрицы NxN сл. числами и вывод на экран var a :=MatrixRandom(n, n); for var i:=0 to n-1 do begin for var j:=0 to n-1 do Print(a[i,j]); println; end; println;
Println('поворот влево на 90 гр'); var b := Transpose(a); b:=Transpose(b); b:=Transpose(b); for var i:=0 to n-1 do begin for var j:=0 to n-1 do Print(b[i,j]); println; end; println;
Println('поворот вправо на 90гр'); b := Transpose(a); for var i:=0 to n-1 do begin for var j:=0 to n-1 do Print(b[i,j]); println; end; println;
Println('поворот на 180 гр'); b := Transpose(a); b := Transpose(b); for var i:=0 to n-1 do begin for var j:=0 to n-1 do Print(b[i,j]); println; end; end.
Панков1101
15.05.2022
1. В "реальном мире" это решается примерно так:
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 begin var a:=ArrRandom(ReadInteger('n='),0,2); a.Println; a.Sorted.Println end.
2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 const nn=100; var i,j,n,t:integer; a:array[1..nn] of integer; begin Write('n='); Read(n); Randomize; for i:=1 to n do begin a[i]:=Random(3); Write(a[i],' ') end; Writeln; for i:=1 to n-1 do for j:=1 to n-1 do if a[j]>a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; for i:=1 to n do Write(a[i],' '); Writeln; end.
k = 5;
var
x: array [1..k] of integer;
i, min_index, k2: integer;
begin
writeln('Enter x:');
for i := 1 to k do
begin
write('x[', i, '] = ');
readln(x[i]);
end;
min_index := 1;
k2 := 0;
for i := 1 to k do
begin
if x[min_index] > x[i] then
min_index := i;
if x[i] mod 2 = 0 then
k2 := k2 + 1;
end;
if k2 > 0 then
x[min_index] := k2;
writeln('x:');
for i := 1 to k do
writeln('x[', i, '] = ', x[i]);
writeln('k2 = ', k2);
writeln('min = ', x[min_index]);
end.