Título: Ayuda con un ejercicio
Publicado por: drk00 en 4 Julio 2011, 03:55 am
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 #include <iostream> using namespace std; int main() { int cont=1, cont2=1; int numero=5; /* cout<<"Cuanto mide el lado del cuadrado: "; cin>>numero;*/ while(cont <= numero) { while(cont2 <= numero) { cout <<"*"; ++cont2; } cont2=1; while(cont2 <= numero) { cout<<"*"; while(cont2<=numero) { cout<<" "; ++cont2; } cout<<"*"; } cout<<endl; ++cont; } system("pause"); return 0; }
La salida: ****** * * * * * * * * * Presione una tecla para continuar . . . esa es la salida ya mas o menos tiene forma eso es todo Gracias.
Título: Re: Ayuda con un ejercicio
Publicado por: Oblivi0n en 4 Julio 2011, 04:32 am
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++) #include <stdio.h> int main() { int lado; printf("Introduce el lado del cuadrado\n"); for(int i = 1 ; i <= lado ; i++) { if(i == 1 || i == lado) { for( int o = 0 ; o < lado ; o++ ) { } } else { for( int n = 0;n < (lado-2); n++ ) { } } } return 0; }
Título: Re: Ayuda con un ejercicio
Publicado por: satu en 4 Julio 2011, 11:55 am
Hola En C++ partiendo del código de Oblivi0n #include <iostream> #include <cstdlib> using namespace std; int main() { int lado; cout<<"Introduce el lado del cuadrado: "; cin>>lado; cout<<endl; for(int i = 0 ; i < lado ; i++) { if(i == 0 || i == lado-1) { for( int o = 0 ; o < lado ; o++ ) cout<<"* "; cout<<endl; } else { cout<<"* "; for( int n = 0;n < (lado-2); n++ ) cout<<" "; cout<<"*\n"; } } while(cin.get()!='\n'); //Limpia el buffer de entrada cout<<endl<<endl<<"Pulsa Enter para salir"; cin.get(); //Pausa el programa hasta que presiones Enter return EXIT_SUCCESS; }
Saludos
Título: Re: Ayuda con un ejercicio
Publicado por: Valkyr en 4 Julio 2011, 14:10 pm
Ya hay respuestas con soluciones pero, me llamó la atención el problema y lo hice yo también xD #include<iostream> using namespace std; int main(void){ int lado, cont; cin>>lado; cont = 0; if(lado>0){ cout<<"*"; for(int i=1;i<lado;i++){ cout<<" *"; cont+=2; } cout<<endl; cont--; for(int i=0;i<lado-1;i++){ cout<<"*"; for(int j=0;j<cont;j++) cout<<" "; cout<<"*"<<endl; } cout<<"*"; for(int i=1;i<lado;i++) cout<<" *"; cout<<endl; } }
Te lo dejo porque me parece algo más claro por tener menos if's. Espero sirva. Saludos.
Título: Re: Ayuda con un ejercicio
Publicado por: drk00 en 5 Julio 2011, 03:54 am
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 #include<iostream> using namespace std; int main() { int contador=1,lado=5, contador2=1; cout<<"cuanto mide el lado del cuadrado?(Maximo 20): "; cin>>lado; if(lado > 0) { while(contador <= lado) { while(contador2 <= lado) { cout<<"* "; ++contador2; } ++contador; } contador = 2; contador2 = 2; while(contador <= lado) { contador2=0; cout<<endl; cout<<"* "; while(contador2 != lado) { cout<<" "; ++contador2; } ++contador; cout<<" *"; } cout<<endl; contador=1; contador2=1; while(contador <= lado) { while(contador2 <= lado) { cout<<"* "; ++contador2; } ++contador; } } else { cout<<"la medida del lado no puede ser 0"; cout<<endl; return main(); } return 0; }
|