1. значения элементов одномерного массива s размерности k уменьшить на значение его минимального элемента. 2. найти и напечатать первые положительные элементы строк матрицы а размерности m×k.
begin var m:=ReadInteger('Количество строк в матрице:'); var k:=ReadInteger('Количество столбцов в матрице:'); Writeln('*** Исходная матрица [',m,',',k,'] ***'); var a:=MatrRandom(m,k,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Первые положительные элементы в строках'); a.Rows.Select(r->r.Where(x->x>0).Take(1)).SelectMany(x->x).Println end.
Program one;uses crt; const k = 10; var S: array[1..k] of integer; i, min: integer; begin randomize; writeln('Array:'); for i := 1 to k do begin S[i] := random(20); write(S[i], ' '); end; writeln; min := S[1]; for i := 2 to k do if S[i] < min then min := S[i]; writeln('Min: ', min); writeln('Result:'); for i := 1 to k do begin S[i] := S[i] - min; write(S[i], ' '); end; end.
program two; uses crt; const m = 5; k = 5; var A: array[1..m] of array[1..k] of integer; i, j, min: integer; begin randomize; writeln('Matrix:'); for i := 1 to m do begin for j := 1 to k do begin A[i][j] := random(20) - 10; write(A[i][j], ' '); end; writeln; end; writeln('Result:'); for i := 1 to m do begin for j := 1 to k do begin if A[i][j] > 0 then begin write(A[i][j], ' '); break; end; end; end; end.
// Внимание! Если программа не работает, обновите версию!
№1
begin
var s:=ArrRandom(ReadInteger('k='),1,50); s.Println;
var min:=s.Min;
s.Transform(x->x-Min); s.Println
end.
Пример
k= 13
41 31 28 2 50 46 7 31 40 30 13 8 26
39 29 26 0 48 44 5 29 38 28 11 6 24
№2
begin
var m:=ReadInteger('Количество строк в матрице:');
var k:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',k,'] ***');
var a:=MatrRandom(m,k,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Первые положительные элементы в строках');
a.Rows.Select(r->r.Where(x->x>0).Take(1)).SelectMany(x->x).Println
end.
Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
-91 -83 -26 4 -40 33 -40 -6
71 -87 -8 65 94 -19 59 -9
-91 -17 69 32 30 90 63 4
-53 -52 93 4 -34 -70 -75 -95
-99 -42 95 69 -70 -62 39 -22
Первые положительные элементы в строках
4 71 69 93 95
const
k = 10;
var
S: array[1..k] of integer;
i, min: integer;
begin
randomize;
writeln('Array:');
for i := 1 to k do
begin
S[i] := random(20);
write(S[i], ' ');
end; writeln;
min := S[1];
for i := 2 to k do
if S[i] < min then
min := S[i];
writeln('Min: ', min);
writeln('Result:');
for i := 1 to k do
begin
S[i] := S[i] - min;
write(S[i], ' ');
end;
end.
program two;
uses crt;
const
m = 5;
k = 5;
var
A: array[1..m] of array[1..k] of integer;
i, j, min: integer;
begin
randomize;
writeln('Matrix:');
for i := 1 to m do
begin
for j := 1 to k do
begin
A[i][j] := random(20) - 10;
write(A[i][j], ' ');
end;
writeln;
end;
writeln('Result:');
for i := 1 to m do
begin
for j := 1 to k do
begin
if A[i][j] > 0 then
begin
write(A[i][j], ' ');
break;
end;
end;
end;
end.