привет У меня проблема с моей программой, я хочу поменять строки в матрице на следующую структуру:
первая и последняя строка.
вторая и вторая до последней строки.
до значений от N до N.
Примечание: я использовал #define n 4
, но мне нужно иметь возможность сделать это для любого значения n.
Ввод:
3 4 5 0
2 6 1 2
2 7 1 2
2 1 1 2
Вывод:
2 1 1 2
2 7 1 2
2 6 1 2
3 4 5 0
Эта программа изменяет только первый и последний ряд:
#include <iostream>
using namespace std;
#define n 4
void interchange(int m[][n])
{
int rows = n;
for (int i = 0; i < n; i++)
{
int t = m[0][i];
m[0][i] = m[rows - 1][i];
m[rows - 1][i] = t;
}
}
int main()
{
int m[n][n] = {
{ 8, 9, 7, 6 },
{ 4, 7, 6, 5 },
{ 3, 2, 1, 8 },
{ 9, 9, 7, 7 }
};
interchange(m);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout << m[i][j] << " ";
cout << endl;
}
}
спасибо.