Консультация № 193768
27.10.2018, 17:10
0.00 руб.
0 5 1
Здравствуйте! Прошу помощи в следующем вопросе:
1)Создать пользовательское приложение,которое формирует и выводит на экран мат-рицу matr в соответствии с таблицей (
) и матрицу rmatr размера N на M случайных целых чисел (num вводятся пользователем). Без использования встроенных функций операций над матрицами.
Заранее благодарен за ответ

Обсуждение

давно
Старший Модератор
31795
6196
30.10.2018, 10:22
общий
Адресаты:
Цитата: Степанов Иван /REDDS
и матрицу rmatr размера N на M случайных целых чисел (num вводятся пользователем)


Ну с matr все понятно, а вот что такое rmatr?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
400537
50
30.10.2018, 17:28
общий
Адресаты:
Как я понял rmatr заданого размера (N на M ) заполняется через рандом просто.
Об авторе:
Твое внимание станет мой энергией
давно
Старший Модератор
31795
6196
02.11.2018, 20:10
общий
это ответ
Здравствуйте, Степанов Иван /REDDS!

Цитата: Степанов Иван /REDDS
Без использования встроенных функций операций над матрицами.

Ни одной стандартной функции, работы с матрицами
[code lang=pascal]type
z=^integer;
var
matr:z;
rmatr:z;
d:z;
i,j,n,m:integer;
procedure show(a:z;b,c:integer);
var
d:integer;
begin
while b>0 do
begin
d:=c;
while d>0 do
begin
write(a^:3);
inc(a);
dec(d);
end;
writeln;
dec(b);
end;
end;
begin
repeat write('Enter N:=');readln(n);until n>0;
GetMem(matr,n*n*sizeof(integer));
d:=matr;
for i:=1 to n do for j:=1 to n do
begin
if j>i then d^:=0 else d^:=n-i+j;
inc(d);
end;
show(matr,n,n);
FreeMem(matr,n*n*sizeof(integer));
repeat write('Enter M:=');readln(m);until m>0;
GetMem(rmatr,n*m*sizeof(integer));
d:=rmatr;
for i:=0 to n do for j:=0 to m do
begin
d^:=random(100);
inc(d);
end;
show(rmatr,n,m);
FreeMem(rmatr,n*m*sizeof(integer));
end.[/code]
Проверял на малых N и M, думаю num так переводится.
Удачи!
Прикрепленные файлы:
6cd38974a1c7f1371dcdf8c10c341569aebc125b.jpg
5
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
400537
50
05.11.2018, 14:25
общий
Адресаты:
Переписал под себя на основе вашего решения . С массивами матриц дальше операции выполнять удобнее. [code lang=pascal]var
n,m,i,j,k,sum,x: integer;
p:boolean;
matr:array[1..nmax,1..nmax] of integer;
rmatr:array[1..nmax,1..nmax] of integer;
begin


write('¬ведите n=');
readln(n);
writeln('»сходна¤ матрица:');

//matr
for i:=1 to n do
begin
for j:=1 to n do
begin
if j>i then matr[i,j]:=0 else matr[i,j]:=n-i+j;
write(matr[i,j]:4);
end;
writeln;
end;
//rmatr
write('¬ведите m=');
readln(m);
for i:=1 to n do
begin
for j:=1 to m do
begin
rmatr[i,j]:=random(100);
write(rmatr[i,j]:4);
end;
writeln;
end;[/code]
Об авторе:
Твое внимание станет мой энергией
давно
Посетитель
402606
3
16.12.2018, 13:01
общий
Помогите пожалуйста не понимаю как сделать эту матрицу ,которую формирует и выводит на экран матрицу mart в соответствии размера n x m (n и m вводятся пользователем
Прикрепленные файлы:
06302dceb0503b2fe45c45fb8559d411.PNG
Форма ответа