elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con Matriz que muestre 0 y 1 en Dev C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con Matriz que muestre 0 y 1 en Dev C++  (Leído 6,465 veces)
wolfxalex

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con Matriz que muestre 0 y 1 en Dev C++
« en: 4 Marzo 2012, 23:58 pm »

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
Código:
#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!!


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda con Matriz que muestre 0 y 1 en Dev C++
« Respuesta #1 en: 5 Marzo 2012, 00:53 am »

Ese programa tiene varias deficiencias como el nombre de los encabezados y la definición de la función principal. Por favor lee el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

En C++ no puedes declarar un array indicando su numero de elementos mediante una variable, debe ser una constante. Y no necesitas de un array ya que una vez impreso el carácter no hay mas nada que hacer con el.

En uno de los temas del día cortesía de Xandrete se explica como reconocer la diagonal secundaria: Guardar la segunda diagonal de una matriz

Revisalo, seguro te da una idea de los cambios a realizar en tu programa.

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Re: Ayuda con Matriz que muestre 0 y 1 en Dev C++
« Respuesta #2 en: 5 Marzo 2012, 22:27 pm »

¡Buenas wolfxalex!

Como bien te ha dicho rir3760, el main esta mal declarado y las matrices debes declararlas de un tamaño constante, por tanto, para hacer lo que dices yo haria lo siguiente:

1) me declararia una matriz con un tamaño grande, superior al que el usuario necesita, por ejemplo 50x50
2) pediria al usuario el "tamaño de la matriz" el cual no puede ser superior a 50, si intruduce un numero superior a 50, le pido que vuelva a introducir un valor valido.
3) recorreria la matriz hasta el valor introducido por el usuario llenandola de 0, y si estoy en la posicion i=j o en la posicion i+j=n (siendo n el valor introducido por el usuario), entonces lo pongo a 1, y voy impimiendo el resultado.

Espero haberte servido de ayuda, un saludo.
En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines