Итак, у меня есть эта домашняя работа, чтобы напечатать матрицу с 3 строками и 4-мя колонами до сих пор, что мне это удается (в основном, читая этот форум), так как наш преподаватель в университете не будет объясните, как это делается. Так что сократилось до предела. Мой код выглядит так. Мне удается распечатать матрицу, тогда я действительно не знаю, как это работает, поэтому я пытаюсь просто переместить строку 1 в матрицу temp, а затем переместить ее обратно. Но это действительно не выглядит правильным, но я действительно не знаю другого способа сделать это. Что мне делать?Перестановка 2 строк в матрице C++
int matrix[3][4] = { { 1,2,3,3 },{ 4,5,6,2 },{ 7,8,9,3 } };
int temp[3][4];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++)
cout << " " << matrix[i][j];
cout << endl;
}
for (int i = 0; i < 3; i++) {
temp[1][4] = matrix[1][4];
matrix[3][4] = matrix[1][4];
matrix[1][4] = temp[1][4];
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++)
cout << " " << matrix[i][j];
cout << endl;
}
return 0;
}
что вы пытаетесь достичь. PLS сказать. рад помочь :) –
Согласен, что непонятно, что вы хотите делать. Во всяком случае, ваш второй цикл, конечно, ошибочен. Подумайте, что он делает. Он выполняет итерацию 3 раза, без использования переменной 'i', так что все 3 раза совпадают. И что делает итерация? Только это: 'matrix [3] [4] = matrix [1] [4];'. Ничего больше (нормально, он также устанавливает «temp [1] [4]'). Если вы хотите поменять местами, правильный порядок: 'temp = a; a = b; b = temp; '. Итак, в вашем случае: temp [1] [4] = matrix [1] [4]; матрица [1] [4] = матрица [3] [4]; матрица [3] [4] = temp; '. И, честно говоря, вам не нужна матрица переменной temp, вам просто нужна она. –