Не складываются элементы массива с++
Есть класс, внутри которого инициализировано 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++ индексы двумерного массива разделяются запятой, а не запятая и пробелом.