0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 4

Выполнение операций сложения, вычитания и умножения над матрицами целых чисел

06.01.2010, 16:36. Показов 12924. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно разработать прогу, которая обеспечивает выполнение операций сложения, вычитания и умножения над матрицами целых чисел. Выбор выполняемой операции осуществляет пользователь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.01.2010, 16:36
Ответы с готовыми решениями:

Выполнение операций сложения, вычитания и умножения над матрицами целых чисел
Вобщем нужно разработать проект, который обеспечивает выполнение операций сложения, вычитания и умножения над матрицами целых чисел. Выбор...

Реализовать алгоритм умножения 2 целых чисел с использованием только операций сложения и вычитания
Доброго времени суток, необходимо реализовать алгоритм умножения 2 целых чисел с использованием только операций сложения и вычитания в...

Выполнение операций сложения, вычитания и умножения матриц
Нужно создать программу для экзамена! Задание: Напишите программу, выполняющую операции сложения, вычитания и умножения матриц 3х3....

6
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
06.01.2010, 16:45
Лучший ответ Сообщение было отмечено как решение

Решение

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
uses crt;
type matrix=array[1..10,1..10]of integer;
var a,b,c:matrix;
    choose,x,y,z:integer;
 
procedure Zapolnenie(var m:matrix; x,y:integer);
var i,j:integer;
begin
 for i:=1 to x do
 for j:=1 to y do
 m[i,j]:=random(10);
end;
 
procedure Vyvod(m:matrix; x,y:integer);
var i,j:integer;
begin
 for i:=1 to x do
 begin
  for j:=1 to y do 
  write(m[i,j]:4);
  writeln;
 end;
end;
 
procedure Peremnozhenie(a:matrix; x,y:integer; b:matrix; z:integer; var c:matrix);
var i,j,k:integer;
    s:integer;
begin
 for i:=1 to x do
 for j:=1 to z do
 begin
  S:=0;
  for k:=1 to y do
  S:=S+a[i,k]*b[k,j];
  c[i,j]:=S;
 end;
end;
 
procedure slozhenie(x,y:integer; a,b:matrix; var c:matrix);
var i,j:integer;
begin
 for i:=1 to x do for j:=1 to y do c[i,j]:=a[i,j]+b[i,j];
end;
 
procedure vychitanie(x,y:integer; a,b:matrix; var c:matrix);
var i,j:integer;
begin
 for i:=1 to x do for j:=1 to y do c[i,j]:=a[i,j]-b[i,j];
end;
 
begin
 clrscr;
 write('Операция: 1-сложение, 2-вычитание, 3-умножение ');
 readln(choose);
 case choose of
 1:begin
   write('Введите кол-во строк матриц:');
   readln(x);
   write('Введите кол-во столбцов матриц:');
   readln(y);
   zapolnenie(a,x,y);
   zapolnenie(b,x,y);
   writeln('Матрица A');
   vyvod(a,x,y);
   writeln('Матрица B');
   vyvod(b,x,y);
   slozhenie(x,y,a,b,c);
   writeln('Матрица C');
   vyvod(c,x,y);
   end;
  2:begin
   write('Введите кол-во строк матриц:');
   readln(x);
   write('Введите кол-во столбцов матриц:');
   readln(y);
   zapolnenie(a,x,y);
   zapolnenie(b,x,y);
   writeln('Матрица A');
   vyvod(a,x,y);
   writeln('Матрица B');
   vyvod(b,x,y);
   vychitanie(x,y,a,b,c);
   writeln('Матрица C');
   vyvod(c,x,y);
   end;    
  3:begin
   write('Введите кол-во строк матрицы A:');
   readln(x);
   write('Введите кол-во столбцов матрицы A:');
   readln(y);
   Zapolnenie(a,x,y);
   Vyvod(a,x,y);
   write('Введите количество столбцов матрицы B:');
   readln(z);
   Zapolnenie(b,y,z);
   Vyvod(b,y,z);
   Peremnozhenie(a,x,y,b,z,c);
   writeln('Матрица C ');
   Vyvod(c,x,z);
   end;
  end;
  readln;
end.
4
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 4
06.01.2010, 17:02  [ТС]
Спасибо! В Паскале выводится ошибка: неизвестный индекатор choose (строка 54). Что делать?
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
06.01.2010, 17:03
roman1728, просто ещё объявите переменную choose
0
0 / 0 / 0
Регистрация: 06.01.2010
Сообщений: 4
21.01.2010, 15:34  [ТС]
Нужно создать прогу операции над матрицами. Выбор выполняемой операции осуществляет пользователь.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
21.01.2010, 15:59
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
uses crt;
const nmax=20;
var n:byte;
type Tmatr=array[1..nmax,1..nmax] of integer;
procedure Vvod(var mt:Tmatr;c:string);
var i,j:byte;
begin
writeln('Введите ',n*n,' элементов матрицы ',c);
for i:=1 to n do
for j:=1 to n do
 begin
  write('el[',i,',',j,']=');
  readln(mt[i,j]);
 end;
clrscr;
end;
 
procedure Vyvod(var mt:Tmatr;c:string);
var i,j:byte;
begin
writeln(c,':');
for i:=1 to n do
  begin
    for j:=1 to n do
    write(mt[i,j]:5);
    writeln;
  end;
writeln;
end;
 
procedure UmnMatr(m1,m2:Tmatr;var m:Tmatr);
var i,j,k:byte;
begin
for k:=1 to n do
for j:=1 to n do
  begin
   m[k,j]:=0;
   for i:=1 to n do
   m[k,j]:=m[k,j]+m1[k,i]*m2[i,j];
  end;
end;
 
procedure SumMatr(m1,m2:Tmatr;var m:Tmatr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
m[i,j]:=m1[i,j]+m2[i,j];
end;
 
procedure RazMatr(m1,m2:Tmatr;var m:Tmatr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
m[i,j]:=m1[i,j]-m2[i,j];
end;
 
var a,b,c:Tmatr;
    w:char;
begin
clrscr;
randomize;
write('Введите размер матриц n=');
readln(n);
Vvod(a,'A');
Vvod(b,'B');
Vyvod(a,'Matrica A');
Vyvod(b,'Matrica B');
write('Press Enter...');
readln;
repeat
clrscr;
Vyvod(a,'Matrica A');
Vyvod(b,'Matrica B');
writeln('Выберите действие');
writeln('1-сложение');
writeln('2-вычитание');
writeln('3-умножениe');
writeln('другое-выход');
write('w=');readln(w);
case w of
'1':begin
    SumMatr(a,b,c);
    Vyvod(c,'Матрица C=A+B');
    write('Press Enter...');
    readln
    end;
'2':begin
    RazMatr(a,b,c);
    Vyvod(c,'Матрица C=A-B');
    write('Press Enter...');
    readln
    end;
'3':begin
    UmnMatr(a,b,c);
    Vyvod(c,'Матрица C=A*B');
    write('Press Enter...');
    readln
    end;
else exit;
end;
until not(w in ['1'..'3']);
end.
2
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 5
20.03.2011, 23:05
yanyk1n помоги плиз)) Задание таково: Заданы матрица А размером N*N и числа К и L (К>1, L<N). Из L-й строки вычесть К-ю, умноженную на aLK/aKK.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2011, 23:05
Помогаю со студенческими работами здесь

Перегрузка операций сложения/умножения вычитания 16-ричных чисел
Выполнить перезагрузку перечисленных операций, закрепив за ними соответствующий функциональный смысл! дано шестнадцатиричное число....

Класс для выполнения операций сложения, вычитания и умножения комплексных чисел
Условие: Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения...

Программа умножения двух целых чисел с использованием команд сложения, вычитания, сдвига
Программа умножения двух целых чисел с использованием команд сложения, вычитания, сдвига. (TASM) Что-то не сложилось у меня.. ...

Определить количество операций сложения, вычитания и умножения в выражении
Помогите пожалуйста решить задачу по программированию в ТР7 Определить общее колличество операций сложения (+), вычитания (-) и...

Вычислить значение выражения, используя не более восьми операций умножения, сложения и вычитания
Даны целые числа x и y. Программа, используя только операции умножения, сложения и вычитания, вычислить выражение 3 x^2 y^2 - 2 x y^2...


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

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

Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru