C/Visual C - ¿por que?

 
Vista:

¿por que?

Publicado por alejandro (5 intervenciones) el 16/07/2002 13:20:04
Estoy haciendo un programa que consiste en realizar un cuadrado con asteriscos de tal forma qeu si teclean 5 aparezca un cuadrado asi:
*****
* *
* *
* *
*****
el codigo que puse es el siguiente pero no se porque no esta bien:
#include <stdio.h>

main()
{
int counter, counter2, counter1, numero;
counter = 1;

printf("escribe un numero para realizar un cuadrado: ");
scanf("%d", &numero);
if (counter == 1){
while (counter2 <= numero){
printf("*");
++counter2;
}
++counter;
}
while (counter < numero){
counter2 = 1;
if (counter2 == 1){
printf("*");
++counter2;
}
while (counter2 < numero){
printf(" ");
++counter2;
}
if (counter2 == numero){
printf("*");
++counter2;
}
}
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿por que?

Publicado por Tok (13 intervenciones) el 17/07/2002 19:31:17
En primer lugar, deberías inicializar counter2 al principio del todo, porque sino, te puede dar problemas. Además, tienes que imprimir los saltos de linea correspondientes. Tienes que incrementar el counter en las iteraciones del bucle de las lineas intermedias. Y finalmente, tienes que dibujar la linea de abajo. El codigo final es el siguiente:

#include <stdio.h>

main()
{
int counter, counter2=1, numero;
counter = 1;

printf("escribe un numero para realizar un cuadrado: ");
scanf("%d", &numero);
if (counter == 1){
while (counter2 <= numero){
printf("*");
++counter2;
}
++counter;
}
printf("\n");
while (counter < numero){
counter2 = 1;
if (counter2 == 1){
printf("*");
++counter2;
}
while (counter2 < numero){
printf(" ");
++counter2;
}
if (counter2 == numero){
printf("*\n");
++counter2;
}
++counter;
}
counter2=1;
while (counter2 <= numero){
printf("*");
++counter2;
}
printf("\n");
return 0;
}

Espero haberte ayudado. Hasta leugo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar