Top.Mail.Ru
Ответы

Не складываются элементы массива с++

Есть класс, внутри которого инициализировано 2 массива и создана функция для их сложения.


class SuperMatrix();

int array1[10][10] = // инициализация матрицы1 10 на 10
{
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10}
};
int array2[10][10] = // инициализация матрицы2 10 на 10
{
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10}
};
int Plus(int t, int d)
{

if (a <= 10 && b <= 10)
{
for (int w = 0; w < a; w++)
{
for (int q = 0; q < b; q++)
{
array1[w, q] += array2[w, q];
cout << array1[w, q] << "\t" << endl;
}

}
}
Это не весь код, но остальное не имеет значения.
Постоянно вылезает ошибка:
выражение должно быть допустимым для изменения левосторонним значением
Что делать?

По дате
По рейтингу
Аватар пользователя
Новичок

array1[w][q] += array2[w][q];
cout << array1[w][q] << "\t" << endl;

многомерная индексация в плюсах так не работает, почитай, как работает оператор запятая

Аватар пользователя
Мастер

Хз, но попробуй замени эту строку
array1[w, q] += array2[w, q];
cout << array1[w, q] << "\t" << endl;

на эту

array1[w][q] += array2[w][q];
cout << array1[w, q] << "\t" << endl;

В языке C++ индексы двумерного массива разделяются запятой, а не запятая и пробелом.