Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/37: Рейтинг темы: голосов - 37, средняя оценка - 4.57
 Аватар для Ruslansis
2 / 2 / 0
Регистрация: 01.10.2009
Сообщений: 72

Сложение двух матриц

11.02.2010, 17:08. Показов 7592. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сложение двух матриц. Приведите пожалуйста простой пример...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.02.2010, 17:08
Ответы с готовыми решениями:

Сложение двух матриц
есть класс, в котором создаётся матрица посредством рандомного заполнения чисел или рандомного заполнения дробных чисел. class Mass ...

Сложение двух матриц
помогите пожалуйста написать программу на языке С ++. даны два двумерных массива. нужно найти их сумму.

Сложение двух матриц
Доброго времени суток Помогите пожалуйста в написании программы. Пользователь вводит Матрицу А(размер 2х2) и Матрицу В(размер 2х2). ...

9
 Аватар для Shim
25 / 25 / 0
Регистрация: 21.11.2009
Сообщений: 159
11.02.2010, 17:18
C++
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define N 3
#define M 3
#define A 1
#define B 6
 
void main()
{
    double a[N][M],b[N][M];
    srand(time(0));
    for (int i=0;i<N;i++)
    for (int j=0;j<M;j++)
    {
        a[i][j]=(double)rand()/RAND_MAX*(B-A)+A;
        b[i][j]=(double)rand()/RAND_MAX*(B-A)+A;
    }
    double c[N][M];
    for (int i=0;i<N;i++)
    for (int j=0;j<M;j++)
        c[i][j]=a[i][j]+b[i][j];
    for (int i=0;i<N;i++)
    {
        printf("|");
        for (int j=0;j<M;j++)
            printf(j==M-1?"%5.2lf|":"%5.2lf ",a[i][j]);
        printf(i==N/2?"+":" ");
        printf("|");
        for (int j=0;j<M;j++)
            printf(j==M-1?"%5.2lf|":"%5.2lf ",b[i][j]);
        printf(i==N/2?"=":" ");
        printf("|");
        for (int j=0;j<M;j++)
            printf(j==M-1?"%5.2lf|\n":"%5.2lf ",c[i][j]);
    }
    getch();
}
2
 Аватар для Ruslansis
2 / 2 / 0
Регистрация: 01.10.2009
Сообщений: 72
11.02.2010, 18:33  [ТС]
Спасибо Shim !А есть еще подобный пример? По короче этого?
0
 Аватар для Shim
25 / 25 / 0
Регистрация: 21.11.2009
Сообщений: 159
11.02.2010, 21:39
Цитата Сообщение от Ruslansis Посмотреть сообщение
Спасибо Shim !А есть еще подобный пример? По короче этого?
эээм..короче этого нету. я не настолько хорошо разбираюсь, что то элементарное могу написать) подобный пример есть(3 in 1): cложение/вычитание/умножение матриц.
0
 Аватар для Ruslansis
2 / 2 / 0
Регистрация: 01.10.2009
Сообщений: 72
16.02.2010, 22:08  [ТС]
Тут короче умножение матриц. Кто нибудь найдите ошибку. А то не правильно работает

C++
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
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <math.h>
 
void main()
 {
 double MAS[100][100], A[100][100], B[100][100];
  int n;
  int i,j,p;
cout<<"n = "; cin>>n;
cout<<"matrica A"<<endl;
    for (int i=1;i<=n;i++)
 { for (int j=1;j<=n;j++)
 
 cout<<A[i][j]<<" | "; }
cout<<"matrica B"<<endl;
   for (int i=1;i<=n;i++)
 { for (int j=1;j<=n;j++)
cout<<B[i][j]<<" | "; }
 
           // .............................................
cout<<"matrica A"<<endl;
   for (int i=1;i<=n;i++)
 { for (int j=1;j<=n;j++)
 
 cout<<A[i][j]<<" | ";
cout<<endl; }
 
cout<<"matrica B"<<endl;
    for (int i=1;i<=n;i++)
    { for (int j=1;j<=n;j++)
cout<<B[i][j]<<" | ";
cout<<endl; }
         //..................................................
 
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (i=1;i<=n;i++)
// MAS[i][p]=0;
for (p=1;p<=n;p++)
for (j=1;j<=n;j++)
 
MAS[i][p]=MAS[i][p]+A[i][j]*B[j][p];
cout<<"Proizvedenie matrizy: " <<MAS[i][p];
 
 getch();  }
0
 Аватар для kazak
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
17.02.2010, 12:30
Во-первых отсутствует ввод значений массивов
Во-вторых выходной массив должен быть инициализирован нулями, это можно сделать при объявлении
C++
1
double MAS[100][100] = {0};
В-третьих убери 37-40 строки.
1
 Аватар для Shim
25 / 25 / 0
Регистрация: 21.11.2009
Сообщений: 159
20.02.2010, 14:59
C++
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
#define _USE_MATH_DEFINES
#define N 3
#define M 3
#define A 0
#define B 9
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
void main()
{
//генерируем матрицы
double a[N][M], b[N][M];
srand(time(0));
for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
 {a[i][j]=(double)rand()/RAND_MAX*(B-A)+A;
  b[i][j]=(double)rand()/RAND_MAX*(B-A)+A;
 }
double res[N][M];
//умножаем
 {for (int i=0; i<N; i++)
  for (int j=0; j<M; j++)
  {res[i][j] = 0;
         for(int k = 0; k < N; k++)
         res[i][j] += (a[i][k] * b[k][j]);}
 }
//выводим на экран
for (int i=0; i<N; i++)
 {printf("|");
  for (int j=0; j<M; j++)
   printf(j==M-1?"%.1lf|":"%.1lf ", a[i][j]);
    printf(i==N/2?"%c":" ", '*');
  
 printf("|");
  for (int j=0; j<M; j++)
   printf(j==M-1?"%.1lf|":"%.1lf ", b[i][j]);
    printf(i==N/2?"=":" ");
  
 printf("|");
  for (int j=0; j<M; j++)
   printf(j==M-1?"%.1lf| \n":"%.1lf ", res[i][j]);
  }
getch();
}
1
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
20.02.2010, 15:04
kazak,
Цитата Сообщение от kazak Посмотреть сообщение
Во-вторых выходной массив должен быть инициализирован нулями, это можно сделать при объявлении
C++
1
double MAS[100][100] = {0};
Это не совсем верно, здесь ты инициализировал нулем лишь первый элемент MAS.
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
20.02.2010, 15:09
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <conio.h>
int main(){
double MAS[100][100] = {0}; 
/*И все остальные нулем потому что так делает компилятор, если человек не написал инициализации остальных значений. 
double MAS[100][100] = {5};     //1 равен пяти все остальные нулю.
*/
printf("%d",MAS[22][22]);
 
return 0;
}
1
 Аватар для Ruslansis
2 / 2 / 0
Регистрация: 01.10.2009
Сообщений: 72
22.02.2010, 13:33  [ТС]
Спасибо люди...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2010, 13:33
Помогаю со студенческими работами здесь

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

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

Классы, конструктор, сложение двух матриц
Здравствуйте вот код: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; class Matrix {

Реализовать сложение двух заданных матриц
Даны матрицы A и B размерностю nxn, найти C=A+B.

Сложение двух одномерных матриц поэлементно (проверьте код)
Пожалуйста, проверьте на ошибки. Надо поэлементоно сложить две матрицы одномерных. #include &lt;iostream&gt; using namespace std;...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru