Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 22
1

Матрица и функция (Сложение двух матриц функцией sum)

01.05.2013, 15:25. Просмотров 1323. Ответов 3
Метки нет (Все метки)

Всем привет.
Не получается создать функцию.
Задача:
Сложение двух матриц функцией sum.
Условие:
Размеры матриц указываются только в одном месте в коде (строка 16).
Проблема:
  1. Функция sum не определяет константы column (строка 6 int a[][column], int b[][column]).
  2. Строка 8 - int c[row][column] "Error: выражение должно иметь константное значение."

Просьба указать на ошибки, по возможности исправить код.
Заранее огромное спасибо.
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
#include <iostream>
#include <iomanip>
using namespace std;
 
void sum(int a[][column], int b[][column], const int row, const int column)
{
    int c[row][column];
      for (int i=0; i<row; ++i){
        for (int j=0; j<column; ++j){
        c[i][j]=a[i][j] + b[i][j];}
        }
 
int main()
{
  const int array_row = 2, array_column = 2;
  int a[array_row][array_column], b[array_row][array_column];
  
 
 cout << "Please enter Matrix A variables: ";
    for (int i=0; i<array_row; ++i){
        for (int j=0; j<array_column; ++j)
           cin >> a[i][j]; }
 cout << "Please enter Matrix B variables: ";
    for (int i=0; i<array_row; ++i){
        for (int j=0; j<array_column; ++j)
            cin >> b[i][j]; }
    
  sum(a, b, array_row, array_column);
    
 
        return 0;
}
P.S. Искал похожие темы но что то не получается найти, буду признателен ссылке если подобная тема существует.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2013, 15:25
Ответы с готовыми решениями:

Выборка из двух таблиц, функция SUM()
Пытаюсь вывести из след. таблиц наименование товара(name_goods из таблицы goods) и сколько его было...

Сложение двух матриц
Здраствуйте помогите с решением программы Сложение двух матриц в WinForm C#.

Сложение двух матриц
В общем скажу сразу: обращаюсь я к вам не из-за лени, а из-за недостатка идей и соответсвенно...

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

3
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.05.2013, 16:03 2
C++
1
void sum(int a[][column], int b[][column], const int row, const int column)
Так не получится. Либо column должен быть известен на момент компиляции и, следовательно, последний аргумент не нужен. Либо нужно передавать динамические массивы в виде int**, или vector<vector<int>> и т.п.

Добавлено через 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
#include <iostream>
#include <iomanip>
using namespace std;
 
const int array_row = 2, array_column = 2;
 
void sum(int a[][array_column], int b[][array_column])
{
    int c[array_row][array_column];
      for (int i=0; i<array_row; ++i){
        for (int j=0; j<array_column; ++j){
        c[i][j]=a[i][j] + b[i][j];
        cout << c[i][j] << " ";
        }
      }
}
 
int main()
{
  int a[array_row][array_column], b[array_row][array_column];
  
 
 cout << "Please enter Matrix A variables: ";
    for (int i=0; i<array_row; ++i){
        for (int j=0; j<array_column; ++j)
           cin >> a[i][j]; }
 cout << "Please enter Matrix B variables: ";
    for (int i=0; i<array_row; ++i){
        for (int j=0; j<array_column; ++j)
            cin >> b[i][j]; }
    
  sum(a, b );
    
        return 0;
}
1
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
01.05.2013, 16:16 3
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
51
52
53
#pragma hdrstop
#include <iostream>
#include <fstream>
#include <conio.h>
#include <cstring.h>
#include <string.h>
#include <Windows>
#include <iomanip>
#include <math>
using namespace std;
 
void sum(int a[3][3],int b[3][3])
{
int c[3][3];
for(int i = 0;i<3;i++)
for(int j = 0;j<3;j++)
{
c[i][j]=a[i][j]+b[i][j];
}
 
cout << "Martix C(sum a+b)\n";
for(int i = 0;i<3;i++)
for(int j = 0;j<3;j++)
{
cout << setw(5) <<c[i][j];
if (j==2) cout << "\n";
 
}
}
 
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int a[3][3],b[3][3];
cout << "Matrix A:\n";
    for (int i=0; i<3;i++)
    {
        for (int j=0; j<3;j++)
        cin >> a[i][j];
    }
cout << "Matrix B:\n";
    for (int i=0; i<3;i++)
    {
        for (int j=0; j<3;j++)
        cin >> b[i][j];
    }
 
sum(a,b);
 
 
system("Pause");
}
С тебя +.
 Комментарий модератора 
Запрещено накручивать репутацию и другую статистику пользователя любым способом, включая создание пользователей-клонов, а также склонять (агитировать) других пользователей к ее изменению.
0
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 22
01.05.2013, 16:34  [ТС] 4
Спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2013, 16:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сложение двух матриц
В задании матрицы записываются в файл (файлы), считываются из файла (-ов) и результат выводится в...

Сложение двух матриц
Кто сможет написать код программы на TASM , в которой две матрицы(заданные в коде) будут...

Сложение двух матриц
сложить 2 матрицы A(6x6) и Б(6х6)? просто нигде не найти)) Найти след матрицы В(6х6)?

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


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

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

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