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


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


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

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Ayuda con un ejercicio
« en: 4 Julio 2011, 03:55 »

Hola nesesito que me den una idea de como se podria resolver este ejercicio
ya e intentado de varias formas pero no me sale y ahorita muy distraido
y no se me ocurrre una forma de resolverlo.

Bueno, el ejercicio dice que poniendo la medida del lado de un cuadrado lo dibuje(pero no es el de un cuadrado solido es ya lo resolvi, tiene que ser el
puro perimetro dibujado)
ejemplo:

Entrada 3

Salida

* * *
*    *
*    *
* * *

y como ya se que me van a pedir el codigo que tengo es este:

espero que sea legible
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int cont=1, cont2=1;
  8.    int numero=5;
  9.  
  10.    /*
  11.     cout<<"Cuanto mide el lado del cuadrado: ";
  12.     cin>>numero;*/
  13.  
  14.  
  15.    while(cont <= numero)
  16.    {
  17.  
  18.        while(cont2 <= numero)
  19.        {
  20.            cout <<"*";
  21.            ++cont2;
  22.        }
  23.        cont2=1;
  24.        while(cont2 <= numero)
  25.        {
  26.            cout<<"*";
  27.            while(cont2<=numero)
  28.            {
  29.                cout<<" ";
  30.                ++cont2;
  31.            }
  32.            cout<<"*";
  33.        }        
  34.        cout<<endl;
  35.        ++cont;
  36.    }
  37.    system("pause");
  38.    return 0;
  39. }
  40.  
La salida:
******     *
*       *
*       *
*       *
*       *
Presione una tecla para continuar . . .
esa es la salida ya mas o menos tiene forma
eso es todo Gracias.



En línea


Oblivi0n


Desconectado Desconectado

Mensajes: 392

Odio las ranas.


Ver Perfil
Re: Ayuda con un ejercicio
« Respuesta #1 en: 4 Julio 2011, 04:32 »

bueno, por aburrimiento he echo el codigo y me funciona, se que está algo ilegible... pero bueno, espero que te sirva (siento no poder hacerlo en C++)

Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    int lado;
  6.    printf("Introduce el lado del cuadrado\n");
  7.    scanf("%d",&lado);
  8.  
  9.    for(int i = 1 ; i <= lado ; i++)
  10.    {
  11.            if(i == 1 || i == lado)
  12.            {
  13.                 for( int o = 0 ; o < lado ; o++ )
  14.                 {
  15.                         printf("* ");
  16.                 }
  17.                 printf("\n");
  18.            }
  19.            else
  20.            {
  21.                printf("* ");
  22.                for( int n = 0;n < (lado-2); n++ )
  23.                {
  24.                        printf("  ");
  25.                }
  26.                printf("*\n");
  27.            }
  28.    }
  29.    scanf("%d",&lado);
  30.    return 0;
  31. }


« Última modificación: 4 Julio 2011, 04:44 por Oblivi0n » En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Ayuda con un ejercicio
« Respuesta #2 en: 4 Julio 2011, 11:55 »

Hola

En C++ partiendo del código de Oblivi0n

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    int lado;
  9.    cout<<"Introduce el lado del cuadrado: ";
  10.    cin>>lado;
  11.    cout<<endl;
  12.  
  13.    for(int i = 0 ; i < lado ; i++)
  14.        {
  15.        if(i == 0 || i == lado-1)
  16.            {
  17.            for( int o = 0 ; o < lado ; o++ )
  18.                cout<<"* ";
  19.            cout<<endl;
  20.            }
  21.        else
  22.            {
  23.            cout<<"* ";
  24.            for( int n = 0;n < (lado-2); n++ )
  25.                cout<<"  ";
  26.            cout<<"*\n";
  27.            }
  28.        }
  29.  
  30.    while(cin.get()!='\n'); //Limpia el buffer de entrada
  31.  
  32.    cout<<endl<<endl<<"Pulsa Enter para salir";
  33.    cin.get(); //Pausa el programa hasta que presiones Enter
  34.  
  35.    return EXIT_SUCCESS;
  36. }
  37.  

Saludos
En línea

Breakbeat como forma de vida
Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Ayuda con un ejercicio
« Respuesta #3 en: 4 Julio 2011, 14:10 »

Ya hay respuestas con soluciones pero, me llamó la atención el problema y lo hice yo también xD

Código
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int main(void){
  5. int lado, cont;
  6. cin>>lado;
  7. cont = 0;
  8. if(lado>0){
  9. cout<<"*";
  10. for(int i=1;i<lado;i++){
  11. cout<<" *";
  12. cont+=2;
  13. }
  14. cout<<endl;
  15. cont--;
  16.  
  17. for(int i=0;i<lado-1;i++){
  18. cout<<"*";
  19. for(int j=0;j<cont;j++)
  20. cout<<" ";
  21. cout<<"*"<<endl;
  22. }
  23. cout<<"*";
  24. for(int i=1;i<lado;i++)
  25. cout<<" *";
  26. cout<<endl;
  27. }
  28. }

Te lo dejo porque me parece algo más claro por tener menos if's.

Espero sirva. Saludos.
En línea

drk00

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Ayuda con un ejercicio
« Respuesta #4 en: 5 Julio 2011, 03:54 »

Estan bien las soluciones pero buscaba hacerlo con while, pero de todos modos muchas gracias porque ya tengo la idea de como hacerlo y era lo que buscaba

Gracias.

es algo largo y probablemente se les haga una solucion tonta pero  como boy empezando creo que esta bien, al menos para mi

Código
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int contador=1,lado=5, contador2=1;
  8.  
  9.    cout<<"cuanto mide el lado del cuadrado?(Maximo 20): ";
  10.    cin>>lado;
  11.  
  12.    if(lado > 0)
  13.    {
  14.  
  15.        while(contador <= lado)
  16.        {
  17.            while(contador2 <= lado)
  18.            {
  19.                cout<<"* ";
  20.                ++contador2;
  21.            }
  22.            ++contador;
  23.        }
  24.  
  25.        contador = 2;
  26.        contador2 = 2;
  27.  
  28.        while(contador <= lado)
  29.        {
  30.            contador2=0;
  31.            cout<<endl;
  32.            cout<<"* ";
  33.            while(contador2 != lado)
  34.            {
  35.                cout<<" ";
  36.                ++contador2;
  37.            }
  38.            ++contador;
  39.            cout<<" *";
  40.        }
  41.        cout<<endl;
  42.  
  43.        contador=1;
  44.        contador2=1;
  45.  
  46.        while(contador <= lado)
  47.        {
  48.            while(contador2 <= lado)
  49.            {
  50.                cout<<"* ";
  51.                ++contador2;
  52.            }
  53.            ++contador;
  54.        }
  55.  
  56.  
  57.  
  58.  
  59.    }
  60.    else
  61.    {
  62.        cout<<"la medida del lado no puede ser 0";
  63.        cout<<endl;
  64.        return main();
  65.    }
  66.    return 0;
  67.  
  68.  
  69. }
  70.  
« Última modificación: 6 Julio 2011, 10:40 por drk00 » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] Ejercicio C 100
Ejercicios
Dem0ny 2 4,492 Último mensaje 19 Diciembre 2007, 22:45
por Dem0ny
Ayuda co un ejercicio de C#
.NET (C#, VB.NET, ASP)
hitori batusai 2 3,960 Último mensaje 22 Febrero 2008, 01:53
por hitori batusai
Ayuda con ejercicio de VB
Programación Visual Basic
guada_sp 5 2,197 Último mensaje 8 Marzo 2008, 02:54
por ‭‭‭‭jackl007
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 11,985 Último mensaje 5 Septiembre 2010, 02:57
por TGa.
Ayuda ejercicio de Pascal, cuando uno no lo ve claro pide ayuda
Programación General
manu3742 1 1,770 Último mensaje 31 Marzo 2011, 15:43
por d(-_-)b
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines