Другие языки программирования и технологии
Помогите составить программу на языке Pascal
Вычислить произведение отрицательных элементов, находящихся на побочной диагонали и выше ее. В задаче задается квадратная матрица NxN. Программа должна осуществлять ввод и печать исходной матрицы и возможно, дополнительных данных, произвести необходимые действия и напечатать результаты.
const
n = 5;
var
a: array [1..n,1..n] of integer;
i,j: integer;
p: real;
begin
randomize;
writeln('a: ');
for i := 1 to n do begin
for j := 1 to n do begin
a[i,j] := random(21) - 10;
write(a[i,j]:4)
end;
writeln
end;
p := 1;
for i := 1 to n do
for j := 1 to n - i + 1 do
if a[i,j] < 0 then
p := p * a[i,j];
writeln('p: ', p:1:0)
end.
n = 5;
var
a: array [1..n,1..n] of integer;
i,j: integer;
p: real;
begin
randomize;
writeln('a: ');
for i := 1 to n do begin
for j := 1 to n do begin
a[i,j] := random(21) - 10;
write(a[i,j]:4)
end;
writeln
end;
p := 1;
for i := 1 to n do
for j := 1 to n - i + 1 do
if a[i,j] < 0 then
p := p * a[i,j];
writeln('p: ', p:1:0)
end.
пиши в агент или на мыло
program twoin;
uses crt;
const
M = 10;
N = 10;
type Matrix = array [ 1..M, 1..N ] of integer;
procedure FillMatrixByRandom(var a: Matrix);
var
i,j:integer;
begin
for i := 1 to M do
for j := 1 to N do
a [ i,j ] := 5 - Random(10);
end;
procedure PrintMatrix(const a: Matrix);
var
i,j:integer;
begin
for i := 1 to M do
begin
for j := 1 to N do
write(a [ i,j ] : 4);
writeln;
end;
writeln;
end;
var
a: Matrix;
i,j: integer;
prod:longint;
begin
clrscr;
FillMatrixByRandom(a);
writeln('Source : ');
PrintMatrix(a);
prod := 1;
for j := 1 to M do
begin
for i := 1 to N-j+1 do
begin
if(a [ j, i ] < 0) then
begin
prod :=prod * a [ j, i ] ;
write(a [ j, i ] : 4);
end
else
write('':4);
end;
writeln;
end;
writeln('Product : ',prod);
readln;
end.
uses crt;
const
M = 10;
N = 10;
type Matrix = array [ 1..M, 1..N ] of integer;
procedure FillMatrixByRandom(var a: Matrix);
var
i,j:integer;
begin
for i := 1 to M do
for j := 1 to N do
a [ i,j ] := 5 - Random(10);
end;
procedure PrintMatrix(const a: Matrix);
var
i,j:integer;
begin
for i := 1 to M do
begin
for j := 1 to N do
write(a [ i,j ] : 4);
writeln;
end;
writeln;
end;
var
a: Matrix;
i,j: integer;
prod:longint;
begin
clrscr;
FillMatrixByRandom(a);
writeln('Source : ');
PrintMatrix(a);
prod := 1;
for j := 1 to M do
begin
for i := 1 to N-j+1 do
begin
if(a [ j, i ] < 0) then
begin
prod :=prod * a [ j, i ] ;
write(a [ j, i ] : 4);
end
else
write('':4);
end;
writeln;
end;
writeln('Product : ',prod);
readln;
end.
примерно так:
begin;
readln(n);
for i:=1 to n do begin
for j:=1 to n do begin
read(a[i,j]); write(' ');
end;
writeln;
end;
s:=1;
for i:=1 to n do
for j:=1 to n do
if i+j-1<=n and a[i,j]<0 then s:=s*a[i,j];
writeln(s);
readkey;
end;
begin;
readln(n);
for i:=1 to n do begin
for j:=1 to n do begin
read(a[i,j]); write(' ');
end;
writeln;
end;
s:=1;
for i:=1 to n do
for j:=1 to n do
if i+j-1<=n and a[i,j]<0 then s:=s*a[i,j];
writeln(s);
readkey;
end;
Похожие вопросы
- Помогите составить программу на языке Pascal
- Информатика. Составить программу на языке Pascal
- помогите составить программу на языке Turbo pascal
- Помогите составить программу на Turbo Pascal?
- Как можно составить программу на языке Pascal для вычисления 100!-2 в степени 100?
- Составить программу на языке pascal.
- Помогите с программой по языку Pascal, задание на записи (комбинированный тип переменной).
- Помогите написать программу на языке Pascal ABC
- Помогите составить программу на pascal
- ПОМОГИТЕ ПОЖАЛУСТА составить программу на turbo pascal!