Comunidad, les pido la ayuda con un pequeño problema. Estoy recién aprendiendo C++ y he estado trabajando con arreglos y matrices, entiendo la lógica de como imprimir una matriz y como recorre sus contenidos, pero hay cosas que aún no las puedo resolver. En el siguiente código se muestra como se imprime (con el valor 0) por terminal una matriz de AxA, siendo A un input recibido por teclado.
#include <iostream>
using namespace std;
int main( ) {
while( 1 ) {
int a = 0;
int i = 0;
int j = 0;
cout << "Ingresa dimensiones del cuadrado" << endl;
cin >> a;
if( cin.fail( ) ) {
cout << "Input incorrecto" << endl;
cin.clear( );
cin.ignore( );
} else {
for( i = 1; i <= a; i++ ) {
for( j = 1; j <= a; j++ ) {
cout << " o ";
}
cout << endl;
}
}
}
}
Si el valor de A es 4, debería imprimir lo que aparece en la imagen-punto 1. Sin embargo, necesito solo imprimir los bordes, es decir si el valor de A es 4, el resultado debería ser el que se observa en la imagen-punto 2
Esta regla se debe cumplir para cualquier valor de a.
Muchas gracias