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

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

01.05.2013, 15:25. Просмотров 948. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2013, 15:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Матрица и функция (Сложение двух матриц функцией sum) (C++):

Сложение двух матриц
Сложение двух матриц. Приведите пожалуйста простой пример...

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

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

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

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

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

3
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 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
Bend3r
149 / 136 / 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
titanium25
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 22
01.05.2013, 16:34  [ТС] #4
Спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2013, 16:34
Привет! Вот еще темы с решениями:

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

Сложение, произведение, деление матриц, возведение в степень, обратная матрица
Доброго времени суток! Нужна помощь в действиях с матрицами, а именно:...

Сложение двух одномерных матриц поэлементно (проверьте код)
Пожалуйста, проверьте на ошибки. Надо поэлементоно сложить две матрицы...

Произвести сложение двух массивов 5х3 по правилам сложения матриц
Произвести сложение двух массивов 5х3 по правилам сложения матриц. Не могу...


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

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

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