Выполнить задание:
Сформировать массив по вариантам (номер варианта соответствует порядковому номеру в списке)
Решить на данном массиве задачи:
Подсчитать количество нулевых элементов.
Найти сумму положительных элементов.
Выполнить проверку работы программ на Паскале.
I 1 2 3 4 5 6
C(I) 0 1 2 3 9 5
1)
const N = 10;
var A: array [1..N, 1..N] of integer;
i, j, maxMain, maxSecond: integer;
begin
writeln('A: ');
for i:= 1 to N do
begin
for j:= 1 to N do
begin
A[i, j]:= random(-30, 30);
write(A[i, j]:4);
end;
writeln();
end;
for i:=1 to N do
begin
for j:= 1 to N do
begin
if (i = j) and (maxMain < A[i, j]) then
maxMain := A[i, j];
if (i + j = N + 1) and (maxSecond < A[i, j]) then
maxSecond := A[i, j];
end;
end;
writeln('Макс. на глав. диагонали: ' + maxMain);
writeln('Макс. на побочной. диагонали: ' + maxSecond);
end.
2)
const N = 10;
var A: array [1..N] of real;
B, C: array of real;
i: integer;
begin
write('A: ');
for i:= 1 to N do
begin
A[i]:=random(-10, 10);
write(A[i] + ' ');
end;
writeln();
for i:=1 to N do
begin
if (a[i] > 0) then
begin
SetLength(B, Length(B) + 1);
B[High(B)]:=a[i];
end;
if (a[i] < 0) then
begin
SetLength(C, Length(C) + 1);
C[High(C)]:=a[i];
end;
end;
write('B: ');
for i:= 0 to Length(B) - 1 do
write(B[i] + ' ');
writeln();
write('C: ');
for i:= 0 to Length(C) - 1 do
write(C[i] + ' ');
writeln();
end.
Pascal
const
nmax = 100;
var
A: array[1..nmax, 1..nmax] of real;
i, j, n, count: byte;
begin
Writeln('Введите N');
Readln(n);
Writeln('Исходная матрица');
count:=0;
for i := 1 to N do
begin
for j := 1 to N do
begin
a[i, j] := (Sin(Sqr(i) - Sqr(j)) / N);
write(A[i, j]:10:3);
if a[i,j]> 0 then Inc(count);
end;
writeln;
end;
Writeln('Количество положительных элементов: ', count);
end.
Тестовое решение
Введите N
5
Исходная матрица
0.000 -0.028 -0.198 -0.130 0.181
0.028 0.000 0.192 0.107 -0.167
0.198 -0.192 0.000 -0.131 0.058
0.130 -0.107 0.131 0.000 -0.082
-0.181 0.167 -0.058 0.082 0.000
Количество положительных элементов: 10