Matriz cuadrada II
tema
Ingrese un número entero N y genere una matriz bidimensional de orden N.
Consulte el ejemplo para conocer el formato de la matriz.
Formato de entrada
La entrada contiene varias líneas y cada línea contiene un número entero N.
Cuando la línea de entrada N = 0, significa que la entrada ha terminado y no es necesario procesar la línea.
Formato de salida
Para cada número entero de entrada N, genere una matriz bidimensional de orden N que cumpla con los requisitos.
Cada matriz ocupa N filas y cada fila contiene N números enteros separados por espacios.
Después de la salida de cada matriz, se genera una línea en blanco.
rango de datos
0≤N≤100
Muestra de entrada
1
2
3
4
5
0
Salida de muestra
1
1 2
2 1
1 2 3
2 1 2
3 2 1
1 2 3 4
2 1 2 3
3 2 1 2
4 3 2 1
1 2 3 4 5
2 1 2 3 4
3 2 1 2 3
4 3 2 1 2
5 4 3 2 1
Algoritmo 1:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int main()
{
while(1){
cin>>n;
if(n==0) break;
for(int i=1;i<=n;i++){
for(int j=i;j>1;j--){
cout<<j<<" ";
}
for(int j=1;j<=n-i+1;j++){
cout<<j<<" ";
}
cout<<endl;
}
cout<<endl;
}
return 0;
}
Algoritmo 2:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int N=110;
int main()
{
while(1){
cin>>n;
if(n==0) break;
int a[N][N];
for(int i=1;i<=n;i++){
for(int j=i,k=1;j<=n;j++,k++){
a[i][j]=k;
a[j][i]=k;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
return 0;
}
Algoritmo tres:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int main()
{
while(1){
cin>>n;
if(n==0) break;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<abs(i-j)+1<<" ";
}
cout<<endl;
}
cout<<endl;
}
return 0;
}