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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Solucionado] Problema en codigo C++, no se ejecuta el else
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Problema en codigo C++, no se ejecuta el else  (Leído 6,641 veces)
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: [Solucionado] Problema en codigo C++, no se ejecuta el else
« Respuesta #10 en: 26 Julio 2014, 18:16 pm »

Citar
Es imposible que obtengas esa salida con el código que postee
cierto yo lo probe y funciona bien


En línea

buenas
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [Solucionado] Problema en codigo C++, no se ejecuta el else
« Respuesta #11 en: 26 Julio 2014, 19:11 pm »

cierto yo lo probe y funciona bien

Sorry, Blaster no modifique bien. La salida es la correcta.  :-X

¡¡¡¡ Saluditos! ..... !!!!






« Última modificación: 26 Julio 2014, 19:12 pm por leosansan » En línea

Blaster

Desconectado Desconectado

Mensajes: 190


Ver Perfil
Re: [Solucionado] Problema en codigo C++, no se ejecuta el else
« Respuesta #12 en: 26 Julio 2014, 19:27 pm »

Sorry, Blaster no modifique bien. La salida es la correcta.

Tranquilo leosansan no pasa nada  ;) ya me lo suponía, pero de igual manera me complique demasiado para hacer algo tan simple.

Saludos
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: [Solucionado] Problema en codigo C++, no se ejecuta el else
« Respuesta #13 en: 27 Julio 2014, 18:46 pm »

Se deben evitar bucles como este:
Código
  1. for ( int i = 0, linea = 8; i < linea ; i++ ){
  2.   for ( int j = 0, linea = 8; j < linea ; j++ )
  3.      ( i % 2 != 0 && j == 0 ) ? ++linea, cout << ' ' : cout << '*' ;
  4.  
  5.   cout << endl ;
  6. }
Ya que abren la puerta a errores lógicos al tener tres variables con el mismo nombre "linea" pero con ámbito distinto.

Para explicarlo mejor el bucle es (en concepto) equivalente a:
Código
  1. {
  2.   int i = 0;
  3.   int linea = 8;
  4.   while (i < linea){
  5.      int j = 0;
  6.      int linea = 8;
  7.      while (j < linea){
  8.         ( i % 2 != 0 && j == 0 ) ? ++linea, cout << ' ' : cout << '*';
  9.  
  10.         j++;
  11.      }
  12.      cout << endl;
  13.  
  14.      i++;
  15.   }
  16. }

Ya que la intención es imprimir un espacio antes de las lineas pares se puede sacar la comprobación del bucle externo colocandola en el interno:
Código
  1. void imprime()
  2. {
  3.   linea = 8;
  4.  
  5.   for (int i = 0; i < linea; i++){
  6.      if (i % 2)
  7.         cout << ' ';
  8.  
  9.      for (int j = 0; j < linea; j++)
  10.         cout << '*';
  11.      cout << endl;
  12.   }
  13. }

Ya por ultimo el valor del campo "linea" debería definirse en otra función y utilizando la clase string se puede eliminar el bucle interno (en su lugar se crea previamente una cadena compuesta por asteriscos).

Todos esto espero se tome como una critica constructiva.

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
Mario Olivera

Desconectado Desconectado

Mensajes: 108


Ser loco es pensar diferente.


Ver Perfil
Re: [Solucionado] Problema en codigo C++, no se ejecuta el else
« Respuesta #14 en: 30 Julio 2014, 07:01 am »

Sinceramente estoy haciendo siempre en mis códigos clases por una manera de recordar las cosas, osea, en el capitulo donde estoy se separa la interfaz de la implementación y se hacen clases, es por esta razon que lo hago... con respecto a usar for no lo hago porque eso sigue en el capitulo que viene, muchas gracias por los consejos a todos saludos  ;D
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [Solucionado] Problema en codigo C++, no se ejecuta el else
« Respuesta #15 en: 30 Julio 2014, 15:03 pm »

Sinceramente estoy haciendo siempre en mis códigos clases por una manera de recordar las cosas, osea, en el capitulo donde estoy se separa la interfaz de la implementación y se hacen clases, es por esta razon que lo hago... con respecto a usar for no lo hago porque eso sigue en el capitulo que viene, muchas gracias por los consejos a todos saludos  ;D

"Raro, raro". Está bien lo de ir practicando Clases pero no haber visto previamente cosas tan primaria como los for, else y compañía es cuanto menos "rarito". Pero en fin, de todo hay en la viña del Señor.  ;)

No obstante puedes conseguir el mismo objetivo con while tal como te indicó rir3760:

Código
  1. void imprime() {
  2.      int i = 0 , j = 0 , linea = 8;
  3.      while ( i < linea ) {
  4.        j = 0 ;
  5.        while ( j < linea ){
  6.          ( i % 2 != 0 && j == 0 ) ? cout << " *" : cout << '*' ;
  7.          j++ ;
  8.        }
  9.        cout << endl ;
  10.        i++ ;
  11.      }
  12.    }

¡¡¡¡ Saluditos! ..... !!!!


« Última modificación: 30 Julio 2014, 15:14 pm por leosansan » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Compila bien, pero no ejecuta !! Solucionado
Java
Vingilot 4 4,149 Último mensaje 8 Enero 2008, 15:20 pm
por Vingilot
php no se ejecuta, en su lugar descarga el codigo
PHP
twoz 3 5,693 Último mensaje 21 Abril 2009, 14:53 pm
por decrypt
[Solucionado] Problema con codigo de RecursosVisualBasic
Programación Visual Basic
Elemental Code 4 3,536 Último mensaje 6 Febrero 2011, 23:06 pm
por Elemental Code
[Solucionado] Problema en codigo C++
Programación C/C++
Mario Olivera 5 3,859 Último mensaje 25 Julio 2014, 22:05 pm
por Mario Olivera
[Solucionado]Problema con función, crea e imprime datos pero no ejecuta. « 1 2 »
PHP
deadfrommayhem 13 8,820 Último mensaje 6 Agosto 2017, 00:07 am
por deadfrommayhem
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines