Считается, что должна получиться матрица n х n. И, конечно, элементы матрицы не вводятся, а вычисляются. Вот вариант программы: #include <iostream> using namespace std;
int main() { int n; cin >> n; int a[n][n]; for(int j = 0; j < n; j++){ if (j%2 == 0) for(int i = 0; i < n; i++) a[i][j]=(i+1)+2*n*((j+1)/2); else for(int i = 0; i < n; i++) a[i][j]=-i+2*n*((j+1)/2); } for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) cout << a[i][j] << ' '; cout << endl; } }
Answers & Comments
Verified answer
#include <iostream>#include <math.h>
using namespace std;
int main() {
int n;
cin >> n;
int a[n];
bool flag;
for(int i = 0; i < n; a[i]=i+1, i++);
for(int i = 0; i < sqrt(n); i++) {
flag = true;
for (int j = 0; j < sqrt(n); flag = !flag,j++) {
if (flag) {
cout << a[j*(int)sqrt(n) + i] << ' ';
} else {
cout << a[j*(int)sqrt(n) + (int)sqrt(n)- 1 - i] << ' ';
}
}
cout << endl;
}
}
Verified answer
Считается, что должна получиться матрица n х n. И, конечно, элементы матрицы не вводятся, а вычисляются.Вот вариант программы:
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a[n][n];
for(int j = 0; j < n; j++){
if (j%2 == 0)
for(int i = 0; i < n; i++) a[i][j]=(i+1)+2*n*((j+1)/2);
else for(int i = 0; i < n; i++) a[i][j]=-i+2*n*((j+1)/2);
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
cout << a[i][j] << ' ';
cout << endl;
}
}
Пример:
5
1 10 11 20 21
2 9 12 19 22
3 8 13 18 23
4 7 14 17 24
5 6 15 16 25