Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
#1

Исправить ошибку (умножение двух матриц) - C++

21.01.2013, 01:45. Просмотров 610. Ответов 4
Метки нет (Все метки)

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
#include <iostream>
#include <windows.h>
using namespace std;
void main()
{
    SetConsoleOutputCP(1251);
const int s = 2;
int a1[s][s], a2[s][s], a3[s][s] = {0};
cout << "Запоните первый мaссив:\n";
for(int i = 0; i < s; i++)
{
for(int j = 0; j < s; j++)
{
cout << "a1[" << i << "][" << j << "] = ";
cin >> a1[i][j];
}
}
 
cout << "Запоните второй мaссив:\n";
for(int i = 0; i < s; i++)
{
for(int j = 0; j < s; j++)
{
cout << "a2[" << i << "][" << j << "] = ";
cin >> a2[i][j];
}
}
 
    cout << endl << "Результат" << endl << endl;
    
    for(int i=0;i<s;i++)
    {
        for(int j=0;j<s;j++)
        {
            s[i][j]=0;
    for(int k=0;k<s;k++)
        a3[i][j]+=a1[i][k]*a3[k][j];
    //Вывод значения
    cout<<a3[i][j]<<" ";
        }
        cout<<endl;
    }
подчеркивает в строчке s[i][j]=0; выделяется i
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 01:45     Исправить ошибку (умножение двух матриц)
Посмотрите здесь:

Умножение двух матриц - C++
Посмотрите, рабоает ли программа, которая должна умножить две матрицы. Буду очень благодарен за исправление... У меня ошибка где-то у...

Умножение матриц. Не могу найти ошибку - C++
Здравствуйте, помогите пожалуйста, разобраться где ошибка. #include &lt;iostream.h&gt; #include &lt;conio.h&gt; void main() { int a,...

Умножение двух матриц 1000х1000 - C++
Ребят помогите пожалуйста. Надо умножить две матрицы 1000*1000. Обьявил их как int а мне пишет что они слишком большие.

Исправить ошибку из-за которой приложение падает при умножении матриц - C++
Привет прогеры! Объясните обезьяне почему у меня кидает exeption программа при перемножении матриц. Размеры матриц всего 1000 на 1000 и...

Найти ошибку в функции вычисления суммы двух матриц - C++
Используя функции заполнить матрицы случайными числами. Функцию, вычисляющую сумму двух матриц. Вывести на экран две исходные матрицы и их...

Умножение матриц - C++
В чем проблема? #include&lt;iostream&gt; #include&lt;iomanip&gt; #include &lt;time.h&gt; using namespace std; char _quit_; int...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
21.01.2013, 02:12     Исправить ошибку (умножение двух матриц) #2
во первых s это переменная а не массив , вовторых зачет ты ее обнуляешь,обнуляют массивы или переменные для того что бы занести туда результат (сумму,произведение и т.д) так что обнулять нужно массив под номером
C++
1
a3[i][j]=0;
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
21.01.2013, 02:24  [ТС]     Исправить ошибку (умножение двух матриц) #3
Цитата Сообщение от Евгений89 Посмотреть сообщение
во первых s это переменная а не массив , вовторых зачет ты ее обнуляешь,обнуляют массивы или переменные для того что бы занести туда результат (сумму,произведение и т.д) так что обнулять нужно массив под номером
C++
1
a3[i][j]=0;
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
48
49
50
#include <iostream>
#include <windows.h>
using namespace std;
void main()
{
SetConsoleOutputCP(1251);
const int s = 2;
int a1[s][s], a2[s][s], a3[s][s] = {0};
cout << "Запоните первый мaссив:\n";
for(int i = 0; i < s; i++)
{
for(int j = 0; j < s; j++)
{
cout << "a1[" << i << "][" << j << "] = ";
cin >> a1[i][j];
}
}
 
cout << "Запоните второй мaссив:\n";
for(int i = 0; i < s; i++)
{
for(int j = 0; j < s; j++)
{
cout << "a2[" << i << "][" << j << "] = ";
cin >> a2[i][j];
}
}
 
cout << endl << "Результат" << endl << endl;
 
for(int i=0;i<s;i++)
{
for(int j=0;j<s;j++)
{
a3[i][j]=0;
for(int k=0;k<s;k++)
a3[i][j]+=a1[i][k]*a3[k][j];
 
 
for(int i = 0; i < s; i++)
{
 
cout << i << ":\t"; 
 
for(int j = 0; j < s; j++)
{
cout << a3[j][i] << "\t";
 
}
 }


все равно ошибку выдает((
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
21.01.2013, 02:46     Исправить ошибку (умножение двух матриц) #4
в твоем коде куча ошибок , бери мой код

Добавлено через 1 минуту
Все работает.И скажи каким компилятором пользуешься?
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
// Умножение квадратных матриц.cpp: главный файл проекта.
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main(){ //размер матриц
    const int N=3;
    //индексные переменные
    int i,j,k;
    //первая матрица
    double A[N][N];
    //вторая матрица
    double B[N][N];
    //Третья матрица
    double C[N][N];
    //Ввод (построчный) первой матрицы
    cout<<"Matrix A: \n";
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
            cin>>A[i][j];
    //Ввод (построчный) 2 матрицы
    cout<<"Matrix B: \n";
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
            cin>>B[i][j];
    //Вычисление произведений матриц
    cout<<"Matrix C=AB: \n";
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
        {
            C[i][j]=0;
    for(k=0;k<N;k++)
        C[i][j]+=A[i][k]*B[k][j];
    //Вывод значения
    cout<<C[i][j]<<" ";
        }
        cout<<endl;
    }
    getch();
 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2013, 03:25     Исправить ошибку (умножение двух матриц)
Еще ссылки по теме:

Умножение матриц - C++
Здравствуйте. Я новичок в программировании. Помогите, пожалуйста написать алгоритм: std::complex&lt; float &gt; k3(3, 0); ...

Умножение матриц - C++
Помогите с умножением матриц создал две идентичные таблицы 3х3 и тепер хочу вывести матрицу этих двух таблиц, но в переменной suma...

Умножение матриц - C++
Вообщем при вводе матриц размером 1х4 или 3х4, получается такое(на картинке), но если вводить матрицы к примеру 4х1 или 4х4, то все окей,...

Умножение матриц - C++
Помогите пожалуйста написать прогу для умножения матриц с использованием malloc. Юзал обычные проги для умножения, но вот с malloc что то...


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

Или воспользуйтесь поиском по форуму:
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
21.01.2013, 03:25  [ТС]     Исправить ошибку (умножение двух матриц) #5
все) извени что надоедал) спасибо) разобрался)
Yandex
Объявления
21.01.2013, 03:25     Исправить ошибку (умножение двух матриц)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru