Помогите составить программу, пожалуйста 🙏
Квадратная матрица. Создаём и заполняем рандомный двухмерный массив, организуем в конце программы диалог (продолжить, закончить), считаем сумму крайних элементов
Язык программирования - турбо паскаль
на пример
program massiv;
uses crt;
var
i,n:integer;
b:array[1..100] of integer;
BEGIN
randomize;
clrscr;
writeln;
write('Vvesti N: ');
readln(n);
writeln('Vektor B: ');
for i:=1 to n do begin
b[i]:=random(101); write(b[i]:3);
end;
writeln;
end. }
program massiv;
uses crt;
type matr= array[1..100,1..100] of integer;
procedure vvod(var c:matr; n,m:integer); //---------------------------------
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
c[i,j]:=random(101);
end; //----------------------------------------------------
procedure vivod( c:matr; n,m:integer);
var i,j:integer;
begin
for i:=1 to n do begin
for j:=1 to m do
write(c[i,j]:3);
writeln; end;
end; //-------------------------------------------------
var
i,j,n,m:integer;
a:matr;
BEGIN
randomize;
clrscr;
writeln('Zadacha na massiv ');
writeln('---------------------------');
writeln;
write('Vvesti N and M: ');
readln(n,m);
writeln('Massiv A: ');
{ for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(101);
write(a[i,j]:3);
end;
writeln; end; }
vvod(a,n,m);
vivod(a,n,m);
end.
program RandomMatrixEdgeSum;
uses
SysUtils, Math;
const
MinVal = 0;
MaxVal = 10;
type
TIntMatrix = array of array of Integer;
function CreateRandomMatrix(n: Integer; minVal, maxVal: Integer): TIntMatrix;
var
i, j: Integer;
begin
Randomize;
SetLength(Result, n, n);
for i := 0 to n - 1 do
for j := 0 to n - 1 do
Result[i][j] := Random(maxVal - minVal + 1) + minVal;
end;
procedure PrintMatrix(const matrix: TIntMatrix);
var
i, j, n: Integer;
begin
n := Length(matrix);
for i := 0 to n - 1 do
begin
for j := 0 to n - 1 do
Write(matrix[i][j]:4);
Writeln;
end;
end;
function SumEdgeElements(const matrix: TIntMatrix): Integer;
var
n, i: Integer;
total: Integer;
begin
n := Length(matrix);
total := 0;
// Суммируем первую и последнюю строки
for i := 0 to n - 1 do
begin
total := total + matrix[0][i]; // первая строка
total := total + matrix[n - 1][i]; // последняя строка
end;
// Суммируем первые и последние элементы остальных строк (без первой и последней)
for i := 1 to n - 2 do
begin
total := total + matrix[i][0] + matrix[i][n - 1];
end;
Result := total;
end;
var
n, edgeSum: Integer;
matrix: TIntMatrix;
input: string;
continueProgram: Boolean;
begin
continueProgram := True;
while continueProgram do
begin
Write('Введите размер квадратной матрицы (целое число > 1): ');
Readln(input);
if not TryStrToInt(input, n) or (n <= 1) then
begin
Writeln('Размер должен быть целым числом больше 1.');
Continue;
end;
matrix := CreateRandomMatrix(n, MinVal, MaxVal);
Writeln('Сгенерированная матрица:');
PrintMatrix(matrix);
edgeSum := SumEdgeElements(matrix);
Writeln('Сумма крайних элементов матрицы: ', edgeSum);
Write('Хотите продолжить? (да/нет): ');
Readln(input);
input := LowerCase(Trim(input));
if not ((input = 'да') or (input = 'д') or (input = 'yes') or (input = 'y')) then
begin
Writeln('Программа завершена.');
continueProgram := False;
end
else
Writeln(StringOfChar('-', 40));
end;
end.
никуясе портянка, а в попугаях-то (в маткаде, например) она (портянка) гораздо меньше.