В матрице А[5×3] найти минимальный и максимальный элементы, вычислить p=(Аmin+Amax)*(Аmin+Amax) и построить новую матрицу, в которой к элементам всех строк кроме 4-й прибавлено р, 4-я строка без изменения — Pascal(Паскаль)

uses crt;
const n=5; m=3;
var a:array[1..n,1..m] of integer;
i,j,mini,minj,maxi,maxj,p:integer;
 
begin
 clrscr;
 randomize;
 writeln('Исходный массив');
 for i:=1 to n do
 begin 
  for j:=1 to m do
  begin
    a[i,j]:=-50+random(100);
    write(a[i,j]:4);
  end;
  writeln;
 end;
 
 mini:=1;
 minj:=1;
 maxi:=2;
 maxj:=2;
 
 for i:=1 to n do for j:=1 to m do
 if a[i,j]<=a[mini,minj] then
 begin
  mini:=i;
  minj:=j;
 end else if a[i,j]>a[maxi,maxj] then
 begin
  maxi:=i;
  maxj:=j;
 end 
 
 writeln('MIN=A[',mini,' ',minj,']=',a[mini,minj]);
 writeln('MAX=A[',maxi,' ',maxj,']=',a[maxi,maxj]);
 p:=sqr(a[mini,minj]+a[maxi,maxj]);
 writeln('P=',p);
 for i:=1 to n do if i<>4 then for j:=1 to m do a[i,j]:=a[i,j]+p;
 
 writeln('Преобразованная матрица');
 for i:=1 to n do
 begin
  for j:=1 to m do write(a[i,j]:4);
  writeln;
 end;
end.

Следующий вариант

uses crt;
const n=5; m=3;
var a:array[1..n,1..m]of integer;
i,j,mini,minj,maxi,maxj,p:integer;
f:text;
 
begin
 clrscr;
 assign(f,'input.txt');
 reset(f);
 for i:=1 to n do
 begin 
  for j:=1 to m do 
    readln(f,m[i,j]);
    readln(f);
 end;
 close(f);
 
 mini:=1;
 minj:=1;
 maxi:=2;
 maxj:=2;
 
 for i:=1 to n do for j:=1 to m do
 if a[i,j]<=a[mini,minj] then
 begin
  mini:=i;
  minj:=j;
 end else if a[i,j]>a[maxi,maxj] then
 begin
  maxi:=i;
  maxj:=j;
 end 
 
 writeln('MIN=A[',mini,' ',minj,']=',a[mini,minj]);
 writeln('MAX=A[',maxi,' ',maxj,']=',a[maxi,maxj]);
 p:=sqr(a[mini,minj]+a[maxi,maxj]);
 writeln('P=',p);
 for i:=1 to n do if i<>4 then for j:=1 to m do a[i,j]:=a[i,j]+p;
 
 writeln('Преобразованная матрица');
 for i:=1 to n do
 begin
  for j:=1 to m do write(a[i,j]:4);
  writeln;
 end;
end.

Следующий вариант

uses crt;
var a:array[1..20,1..20]of integer;
    n,m,i,j,min,max,p:integer;
    f:text;
    name:string;
begin
clrscr;
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
read(f,n);
read(f,m);
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    read(f,a[i,j]);
    write(a[i,j]:4);
   end;
  writeln;
 end;
writeln;
close(f);
min:=a[1,1];
max:=a[1,1];
for i:=1 to n do
for j:=1 to m do
 begin
  if a[i,j]<min then min:=a[i,j];
  if a[i,j]>max then max:=a[i,j];
 end;
writeln('MIN=',min,' MAX=',max);
p:=sqr(min+max);
writeln('P=',p);
for i:=1 to n do
for j:=1 to m do
if i<>4 then a[i,j]:=a[i,j]+p;
writeln('Измененная матрица');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.

Leave a Comment

+ 59 = 66