Задача - Вычислить элементы матрицы по формуле - программирование на разных языках

Задача — Вычислить элементы матрицы по формуле — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Вычислить элементы матрицы по формуле
— программирование на 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

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий