Que tal amigos he estado tratando de lograr que una matriz en c++ de N tamaño "dado por el usuario", imprima en todas sus casiilas el valor 0 y en su diagonal principal y secundaria, el valor 1. Es decir que básicamente dibuje una equiz con 0 y 1
ejemplo
100000001
010000010
001000100
000101000
000010000
000101000
001000100
010000010
100000000
el problema es que el codigo que e logrado solo muestra la mitad del lado izquierdo es decir
10000
01000
00100
00010
00001
00010
00100
01000
10000
si pueden indicarme que me falta o que debo hacer se los agradeceria
el codigo es
gracias de antemano!!
ejemplo
100000001
010000010
001000100
000101000
000010000
000101000
001000100
010000010
100000000
el problema es que el codigo que e logrado solo muestra la mitad del lado izquierdo es decir
10000
01000
00100
00010
00001
00010
00100
01000
10000
si pueden indicarme que me falta o que debo hacer se los agradeceria
el codigo es
Código [Seleccionar]
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#define a 1
void main()
{
int m[a][a],r;
int i=0;
int j=0;
int x;
clrscr();
cout<<"Introduzca tamaño: ";
cin>>r;
for(i=0; i<=r;i++){
for(j=0;j<=r;j++){
m[i][j]=0;
if(i==j){
m[i][j]=1;
}
printf("%d ",m[i][j]);
}
printf("\n");
}
for(i=0; i<=r;i++){
for(j=0;j<=r;j++){
m[i][j]=0;
if(j==r-i){
m[i][j]=1;
}
printf("%d ",m[i][j]);
}
printf("\n");
}
fflush(stdin);
getchar();
}
gracias de antemano!!