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

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

Войти
Регистрация
Восстановить пароль
 
Иринка
0 / 0 / 0
Регистрация: 21.04.2009
Сообщений: 44
#1

Найдите ошибку! - C++

05.12.2009, 20:22. Просмотров 277. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста найти ошибку - не выводит ни суммы, ни произведения??? И как вводить с клавиатуры матрицу, чтобы она выглядела как матрица, а не всё в столбик???

Matr.h
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
#ifndef __matr_h__
#define __matr_h__
const int N=2;
const int M=2;
typedef struct { 
    double R[N][M];
}matrix ; 
 
matrix operator add(const matrix A, const matrix B);
{ matrix result;
   for(i=0;i<N;i++) 
       for(int j=0;j<M;j++) 
result.R[i][j]=result.A[i][j]+result.B[i][j];
return result;
}
 
matrix operator mul(const matrix A, const matrix B);
{ matrix result;
   for(int i=0;i<N;i++) 
       for(int j=0;j<N;j++)
           {for(int k=0;k<H;k++) 
result.R[i][j]+=result.A[i][j]*result.B[i][j];
       return result;}
}
 
#endif
matr.cpp
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
#include <stdio.h> 
#include <iostream.h>
const N=2;
const M=2;
const H=2;
    int i,j,k;
    double A[N][M];
        double B[N][M];
            double C[N][M];
    double D[N][M];
void main()
{
 
 
 cout<<"\nVvedite elementi matrici A:\n";
 for(i=0;i<N; i++)   
 for( j=0;j<M;j++)  
   { 
 cin>>A[i][j]; 
   }
 
   cout<<"\nVvedite elementi matrici B:\n";
 for(i=0;i<N;i++) 
   for(int j=0;j<M;j++) 
   {
       cin>>B[i][j];
   }
 
   cout<<"\nRezyltat_+:"; 
 
   for(i=0;i<N;i++) 
       for(int j=0;j<M;j++) {
C[N][M]=
(A[i][j],B[i][j]);
   cout<<C[N][M]<<endl;} 
 
 
  cout<<"\nRezyltat_*:";
  
   for(int i=0;i<N;i++) 
       for(int j=0;j<N;j++)
           {for(int k=0;k<H;k++)
  D[i][j]=(A[i][k],B[k][j]);
   cout<<D[i][j]<<endl;}
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2009, 20:22     Найдите ошибку!
Посмотрите здесь:

C++ Найдите ошибку
Найдите ошибку C++
найдите ошибку C++
C++ Найдите ошибку
C++ Найдите ошибку
C++ найдите ошибку
C++ Найдите ошибку!
C++ Найдите ошибку
C++ найдите ошибку
Найдите ошибку C++
Найдите ошибку C++
C++ найдите ошибку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
05.12.2009, 20:58     Найдите ошибку! #2
не выводит ни суммы, ни произведения??
Вопрос "на вскидку":
C++
1
C[N][M]=(A[i][j],B[i][j]);
Что происходит при этой записи?

И как вводить с клавиатуры матрицу, чтобы она выглядела как матрица, а не всё в столбик???
как вариант: cin>>a[1][1]>>a[1][2].. - при вводе разделитель - пробел.
Том Ардер
Модератор
Эксперт по математике/физике
3688 / 2301 / 283
Регистрация: 15.06.2009
Сообщений: 4,050
05.12.2009, 23:08     Найдите ошибку! #3
Файл matr.h
Строка 13
Цитата Сообщение от Иринка Посмотреть сообщение
result.R[i][j]=result.A[i][j]+result.B[i][j];
Д.б.
C++
1
result.R[i][j]=A.R[i][j]+B.R[i][j];
Строка 22:
Цитата Сообщение от Иринка Посмотреть сообщение
result.R[i][j]+=result.A[i][j]*result.B[i][j];
Д.б.
C++
1
result.R[i][j]+=A.R[i][k]*B.R[k][j];
А перед 21-й строкой надо
result.R[i][j] = 0;
Yandex
Объявления
05.12.2009, 23:08     Найдите ошибку!
Ответ Создать тему
Опции темы

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