Вычислить элементы матрицы по формуле

Элементы матрицы NxM вычисляются по формуле A[i,j] = sin(N*i+M*j) при индексации с единицы или по формуле A[i,j] = sin(N*(i+1)+M*(j+1)) при индексации с нуля. Если полученный таким образом элемент матрицы отрицателен, то заменить его на 0. Вывести конечную матрицу на экран.

При заполнении матрицы каждый элемент вычисляется по заданной формуле. Если полученный таким образом элемент меньше нуля, то в соответствующую ему ячейку матрицы записывается 0.

В Python и Си требуется импортировать библиотеку с математическими функциями.

Pascal



const N = 3; M = 4;
var
mtx: array[1..N,1..M] of real;
i,j: byte;
begin
for i:=1 to N do begin
for j:=1 to M do begin
mtx[i,j] := sin(N*i+M*j);
if mtx[i,j] < 0 then begin
mtx[i,j] := 0;
write(mtx[i,j]:7:0);
end
else
write(mtx[i,j]:7:2);
end;
writeln;
end;
end.



0.66 0 0.65 0.15
0 0.99 0 0
0.42 0 0.84 0

Язык Си



#include < stdio.h>
#include < math.h>
#define N 3
#define M 4
main() {
float mtx[N][M];
short i, j;
srand(time(NULL));

for (i=0; i< N; i++) {
for (j=0; j< M; j++) {
mtx[i][j] = sin(N * (i+1) + M * (j+1));
if (mtx[i][j] < 0) {
mtx[i][j] = 0;
printf("%7.0f", mtx[i][j]);
} else printf("%7.2f", mtx[i][j]);
}
printf("\n");
}
}

При использовании gcc компилировать с опцией -lm.

Python



from math import sin
N = 3
M = 4
mtx = []
for i in range(N):
a = []
for j in range(M):
a.append(sin(N*(i+1) + M*(j+1)))
mtx.append(a)

for i in range(N):
for j in range(M):
if mtx[i][j] < 0:
mtx[i][j] = 0
print("%7.0f" % mtx[i][j], end='')
else:
print("%7.2f" % mtx[i][j], end='')
print()

КуМир


алг
нач
цел N = 3
цел M = 4
вещтаб mtx[1:N, 1:M]
цел i, j
нц для i от 1 до N
нц для j от 1 до M
mtx[i,j] := sin(N*i + M*j)
если mtx[i,j] < 0 то
mtx[i,j] := 0
вывод int(mtx[i,j]):7
иначе
вывод mtx[i,j]:7:2
все
кц
вывод нс
кц
кон

Basic-256



N = 3
M = 4
dim mtx(N,M)
decimal 2
for i=0 to N-1
for j=0 to M-1
mtx[i,j] = sin(N*(i+1) + M*(j+1))
if mtx[i,j] < 0 then
mtx[i,j] = 0
endif
print mtx[i,j] + " ";
next j
print
next i

Подписаться
Уведомить о
guest

1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Сара
Сара
1 год назад

как сделать формулу по инфоматике

Pascal


const N = 3; M = 4;
var
mtx: array[1..N,1..M] of real;
i,j: byte;
begin
for i:=1 to N do begin
for j:=1 to M do begin
mtx[i,j] := sin(N*i+M*j);
if mtx[i,j] < 0 then begin
mtx[i,j] := 0;
write(mtx[i,j]:7:0);
end
else
write(mtx[i,j]:7:2);
end;
writeln;
end;
end.



0.66 0 0.65 0.15
0 0.99 0 0
0.42 0 0.84 0
Язык Си


#include < stdio.h>
#include < math.h>
#define N 3
#define M 4
main() {
float mtx[N][M];
short i, j;
srand(time(NULL));

for (i=0; i< N; i++) {
for (j=0; j< M; j++) {
mtx[i][j] = sin(N * (i+1) + M * (j+1));
if (mtx[i][j] < 0) {
mtx[i][j] = 0;
printf("%7.0f", mtx[i][j]);
} else printf("%7.2f", mtx[i][j]);
}
printf("\n");
}
}

При использовании gcc компилировать с опцией -lm.
Python


from math import sin
N = 3
M = 4
mtx = []
for i in range(N):
a = []
for j in range(M):
a.append(sin(N*(i+1) + M*(j+1)))
mtx.append(a)

for i in range(N):
for j in range(M):
if mtx[i][j] < 0:
mtx[i][j] = 0
print("%7.0f" % mtx[i][j], end='')
else:
print("%7.2f" % mtx[i][j], end='')
print()
КуМир

алг
нач
цел N = 3
цел M = 4
вещтаб mtx[1:N, 1:M]
цел i, j
нц для i от 1 до N
нц для j от 1 до M
mtx[i,j] := sin(N*i + M*j)
если mtx[i,j] < 0 то
mtx[i,j] := 0
вывод int(mtx[i,j]):7
иначе
вывод mtx[i,j]:7:2
все
кц
вывод нс
кц
кон
Basic-256


N = 3
M = 4
dim mtx(N,M)
decimal 2
for i=0 to N-1
for j=0 to M-1
mtx[i,j] = sin(N*(i+1) + M*(j+1))
if mtx[i,j] < 0 then
mtx[i,j] = 0
endif
print mtx[i,j] + " ";
next j
print
next i