Задача: Ввести матрицю п*м а дійсними елементами. Елементи матриці, які належать проміжку [a,b] замінити на максимальний елемент матриці, решту елементів матрицi замінити на номер рядка, в якому знаходиться максимальний елемент.
Вивести матрицю в прямокутному вигляді.
В ПРОГРАМІ Algo
ів та 3 кращих відповідей
//t1.txt должен быть в папке с программой
//Pascal
var
f: text;
numValue, Counts, n, c, t, i: integer;
begin
assign(f, 't1.txt');
reset(f);
Counts := 0;
c := 0;
while not eof(f) do
begin
readln(f, n);
if (c = 0) or (n = t) then
c := c + 1
else
c := 1;
t := n;
if c > Counts then
begin
Counts := c;
numValue := n
end
end;
close(f);
assign(f, 't2.txt');
rewrite(f);
writeln('Длина цепочки: ', Counts);
for i := 1 to Counts do
writeln(f, numValue);
close(f)
end.
k = 3;
p = 3;
var
f: array [1..k, 1..p] of byte;
mini: array [1..2] of byte := (1, 1);
maxi: array [1..2] of byte := (1, 1);
procedure Swap(var a, b: integer);
var
p: integer;
begin
p := a;
a := b;
b := p;
end;
begin
for i: byte := 1 to k do
begin
for j: byte := 1 to p do
begin
f[i, j] := random(10, 100);
write(f[i, j]:3);
if (f[mini[1], mini[2]] > f[i, j]) then
begin
mini[1] := i;
mini[2] := j;
end;
if (f[maxi[1], maxi[2]] < f[i, j]) then
begin
maxi[1] := i;
maxi[2] := j;
end;
end;
writeln();
end;
writeln();
swap(f[1, p], f[maxi[1], maxi[2]]);
swap(f[p, 1], f[mini[1], mini[2]]);
for i: byte := 1 to k do
begin
for j: byte := 1 to p do
write(f[i, j]:3);
writeln();
end;
end.