Autor
|
Tema: Recursividad en C++, programas que no comprendo muy bien (Leído 10,269 veces)
|
BatchianoISpyxolo
Desconectado
Mensajes: 166
|
...y si quieres generar la misma figura que la tuya solo le tienes que poner una condición para que genere correctamente las dos últimas filas.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
...y si quieres generar la misma figura que la tuya solo le tienes que poner una condición para que genere correctamente las dos últimas filas.
Lo haría con el código de cypascal, pero el tuyo es demasiado "denso": realmente has sacado la artillería pesada: strcpy, strcat, malloc .... Pero reconozco que lo has "bordado", me parece increible.
|
|
|
En línea
|
|
|
|
BatchianoISpyxolo
Desconectado
Mensajes: 166
|
Lo haría con el código de cypascal, pero el tuyo es demasiado "denso": realmente has sacado la artillería pesada: strcpy, strcat, malloc .... Pero reconozco que lo has "bordado", me parece increible.
Opino lo mismo que tú PD: ya modifiqué el código para que sea exactamente la figura que se pide.
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Opino lo mismo que tú PD: ya modifiqué el código para que sea exactamente la figura que se pide. Corrige algo porque sólo me sale " 1 ". No veo la sentencia - scanf- que permita entrar el tamaño de la figura. Supongo que estoy torpe, pero no me "cuadra" el código sin un scanf o un tamaño predeterminado. Perdona las observaciones. ¿O lo entras por el terminal?. Sí, eso es de ahí la conversión atoi. OK. Aclarado. Basta cambiar
figura(atoi(argv[1])); por int num; printf ("Entre un numero IMPAR:"); scanf ("%d",&num); figura(num);
Pero no funciona correctamente ya que el 1 2 están desplazados una posición más a la derecha de lo que deberían; lo mismo le pasa al último 1.Saludos!
|
|
« Última modificación: 26 Octubre 2012, 21:09 pm por leosansan »
|
En línea
|
|
|
|
BatchianoISpyxolo
Desconectado
Mensajes: 166
|
Corrige algo porque sólo me sale " 1 ". No veo la sentencia - scanf- que permita entrar el tamaño de la figura. Supongo que estoy torpe, pero no me "cuadra" el código sin un scanf o un tamaño predeterminado. Perdona las observaciones. ¿O lo entras por el terminal?. Sí, eso es de ahí la conversión atoi. OK. Aclarado. Basta cambiar
figura(atoi(argv[1])); por int num; printf ("Entre un numero IMPAR:"); scanf ("%d",&num); figura(num);
Pero no funciona correctamente ya que el 1 2 están desplazados una posición más a la derecha de lo que deberían; lo mismo le pasa al último 1.Saludos! Disculpa, no me fijé. Es sencillo, para esos dos casos, basta con rectificar su salto inicial (jump) en un espacio. Código modificado. PD: cuidado con recoger valores numéricos por teclado
|
|
« Última modificación: 26 Octubre 2012, 22:28 pm por BatchianoISpyxolo »
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Código modificado. PD: cuidado con recoger valores numéricos por teclado Y yo que creía que mi código lo había hecho demasiado complejo.....Desde que tenga tiempo trataré de implementarlo con recursividad, pero más "humanizado" REEDITO:Ya lo tengo con recursividad y sin la "artilleria pesada" #include <iostream> #include <iomanip> using namespace std; int cont=0; int dibuja (int a); int main() { int a,cont =0; cout << "Introduce un numero IMPAR: "<<endl; cin >> a; dibuja (a); return 0; } int dibuja (int a) { if (a==0) return 1; for (int i=1;i<=a;i++) cout<<i<<" " ; cout <<endl << setw(cont) << " "; if (a<=3 ) {cont ++;dibuja (a-1);} else {cont+=2;dibuja (a-2);} }
Ahora en serio, envidio tus conocimientos en C++, yo me manejo mejor en C - y estoy empezando- y apenas en C++. Tu código demuestra un conocimiento y manejo de librerias, comandos y punteros que ya quisiera yo para mí. ...... Pero no me negaras que mi código es más "humano".
|
|
« Última modificación: 27 Octubre 2012, 01:05 am por leosansan »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
No comprendo codigo[Python]
Scripting
|
Ricardo95
|
2
|
3,485
|
11 Diciembre 2010, 00:25 am
por Shell Root
|
|
|
Problema que no comprendo con la api GetPixel
Programación Visual Basic
|
Elemental Code
|
7
|
3,503
|
7 Septiembre 2012, 00:17 am
por Dessa
|
|
|
Expliquenme esta nota que no la comprendo ?
.NET (C#, VB.NET, ASP)
|
TrashAmbishion
|
2
|
2,219
|
4 Mayo 2013, 16:59 pm
por TrashAmbishion
|
|
|
[JS] Cada vez me siento más idiota, no comprendo lo más sencillo
« 1 2 »
Desarrollo Web
|
Linton
|
10
|
5,056
|
20 Junio 2013, 13:15 pm
por Linton
|
|
|
MOVIDO: [JS] Cada vez me siento más idiota, no comprendo lo más sencillo
Scripting
|
Novlucker
|
0
|
1,557
|
17 Junio 2013, 21:25 pm
por Novlucker
|
|