Оглавление:
Задача — Вычислить элементы матрицы по формуле
— программирование на Pascal, Си, Кумир, Basic-256, Python
Элементы матрицы 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