0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 7
1

Заполнение матриц случайными числами

15.04.2018, 16:20. Показов 6577. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с заданием, пожалуйста:
В процедуре заполните матрицу пятого порядка случайными числами. В основной программе используйте эту процедуру для заполнения трех матриц с различными именами, а в функции найдите сумму элементов результирующей матрицы.
С программированием у меня всё плохо, поэтому вот что получилось, при запуске выводит 3 случайно заполненные матрицы, но как написать функцию я не знаю:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Program s6;
uses crt;
 
type matrix=array  [1..5,1..5] of integer;
var a,b1,c1:matrix;
i,j:integer;
 
procedure random1(var a:matrix);
var i,j:integer;
begin
randomize;
for i:=1 to 5 do 
    for j:=1 to 5 do
         a[i,j]:=random(9);
end;
procedure random2(var a:matrix);
var i,j:integer;
begin
randomize;
for i:=1 to 5 do 
    for j:=1 to 5 do
         b1[i,j]:=random(15);
end;
procedure random3(var a:matrix);
var i,j:integer;
begin
randomize;
for i:=1 to 5 do 
    for j:=1 to 5 do
         c1[i,j]:=random(19);
end;
 
procedure print1(a:matrix);
var i,j: integer; 
begin 
   writeln('Случайная матрица 1:');
   for i:=1 to 5 do 
   begin 
      for j:=1 to 5 do 
         Write (a[i, j]:4);
      Writeln; 
   end; 
end;
procedure print2(b1:matrix);
var i,j: integer; 
begin 
   writeln('Случайная матрица 2:');
   for i:=1 to 5 do 
   begin 
      for j:=1 to 5 do 
         Write (b1[i, j]:4);
      Writeln; 
   end; 
end;
procedure print3(c1:matrix);
var i,j: integer; 
begin 
   writeln('Случайная матрица 3:');
   for i:=1 to 5 do 
   begin 
      for j:=1 to 5 do 
         Write (c1[i, j]:4);
      Writeln; 
   end; 
end;
begin
random1(a);
random2(b1);
random3(c1);
print1(a);
print2(b1);
print3(c1);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2018, 16:20
Ответы с готовыми решениями:

Массивы: заполнение случайными числами
подскажите плиз как описать матрицу 8х8 и заполнить ее случайными числами от -n до n, где n - номер...

Заполнение массива X(10) случайными числами в диапазоне от -15 до 10
1. Напишите программу для заполнения массива X(10) случайными числами в диапазоне от -15 до 10....

Заполнение файла случайными числами и его последующая обработка
Заполнить двоичный файл N действительными числами, полученными с помощью генератора случайных...

Формирование двухмерного массива и заполнение его случайными числами
сформировать двухмерный массив размером N на N массив заполнить случайными числами из отрезка

4
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
15.04.2018, 17:28 2
Лучший ответ Сообщение было отмечено Valeriy34 как решение

Решение

Начало так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
uses crt;
const n=5;
type matrix=array  [1..n,1..n] of integer;
procedure rand_mtr(var a:matrix);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(20);
end;
procedure print(a:matrix;s:string);
var i,j: integer;
begin
writeln(s);
for i:=1 to n do
 begin
  for j:=1 to n do
  Write (a[i, j]:4);
  Writeln;
 end;
end;
var a,b,c:matrix;
begin
rand_mtr(a);
rand_mtr(b);
rand_mtr(c);
print(a,'Матрица А');
print(b,'Матрица В');
print(c,'Матрица С');
end.
Что еще нужно сделать, что такое результирующая матрица?
1
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 7
15.04.2018, 17:40  [ТС] 3
Как я понял, нужно сделать функцию перемножения двух любых матриц.
Хотя я внимательнее перечитал задание, и похоже тут нужно сложить 3 эти матрицы с помощью функции)
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
15.04.2018, 17:44 4
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Процедура умножения двух матриц.
Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure umn(a,b:matrix;var c:matrix);
var i,j,k:integer;
begin
for i:=1 to n do
for j:=1 to n do
 begin
  c[i,j]:=0;
  for k:=1 to n do
  c[i,j]:=c[i,j]+a[i,k]*b[k,j];
 end;
end;
1
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 7
15.04.2018, 17:58  [ТС] 5
Спасибо большое!
0
15.04.2018, 17:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2018, 17:58
Помогаю со студенческими работами здесь

матрица с случайными числами
дана матрица заполнена случайными числами, вывести ее на экран , найти ее mac элемент. заранее...

Заполнить матрицу случайными числами
Заполнить матрицу случайными числами,поменять местами главную и побочную диагонали

Заполнить матрицу случайными числами
Процедуры и функции. Заполнить матрицу случайными числами. На побочной диагонали разместить суммы...

Формирование массива случайными числами
Составить программу , которая формирует случайными числами ( диапазон чисел от - 15 до 30 ) массив...

Заполнить матрицу случайными числами
Заполнить матрицу случайными числами. Отобразить семметрично вертикальной оси секторы матрицы,...

Создание матрицы с случайными числами
Условие состоит в том, что бы матрица 4х5 была сформулирована случайными числами (1..10) Это я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru