Rincon del PROGRAMADOR.Lenguaje C - NUEVA DUDA pag2

Porque en la vida no todo es C4...

Moderador: Moderadores

Notapor des1234 » Vie Nov 23, 2007 12:44 pm

Nueva duda, a ver si me podeis echar un cable, que como tengo un profesor tan competente no sabe ni hacerlo ni explicarmelo.

El programa tiene que pedir un numero de escalones e imprimir una piramide invertida de x escalones...

El foro no permite margenes, por lo que no podre mostraros como la pide, pero para que os hagais una idea, en cada fila sobresalen 2 asteriscos a cada lado de cada escalon, como si dijeramos un triangulo bocaabajo...

Ejemplo: 4 escalones

*******
*****
***
*

El codigo que yo he exo es el siguiente, pero no me funciona. El programa tiene que controlar que a partir de la linea 2, tiene que imprimir 1espacio, en la linea 3 , 2 espacios, en la linea 4 3 espacios....

#include<stdio.h>
#include<conio.h>

main()
{
int num;
int i; // escalon
int espacios; //numero de espacios que imprimira
int impraster; //numero de asteriscos que imprimira

printf("Introduce el numero de escalones que quieres que tenga la piramide: ");
scanf("%d",&num);




for (i=num;i<=1;i--)
{
for (espacios=i;espacios<num;espacios++) // imprime los espacios
{
printf(" ");
}

for (impraster=1;impraster<2*i;impraster++) // imprime los asteriscos
{
printf("*");
}

printf("\n"); // imprime el salto de escalon

}


getch();



:cry: :cry:
des1234
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 2159
Registrado: Jue Ago 24, 2006 21:25 pm

Notapor vaya_putada » Vie Nov 23, 2007 12:58 pm

no entiendo demasiao de programación pero kreo ke tienes las variables vacías por lo ke los dos "for" ke estás haciendo no deben funcionar...
- C4 HDi 2.0 138 cv Vts - Full Equipe -
Imagen
Avatar de Usuario
vaya_putada
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 4172
Registrado: Lun Jul 24, 2006 15:20 pm
Ubicación: Valle del Kas

Notapor des1234 » Vie Nov 23, 2007 13:02 pm

;) No estan vacias compi, los mismos `for` les "autodeclaran" el valor que deben de ir tomando...

GRACIAS de todos modos
des1234
C4atrero Profesional :D
C4atrero Profesional :D
 
Mensajes: 2159
Registrado: Jue Ago 24, 2006 21:25 pm

Notapor deivid » Vie Nov 23, 2007 13:06 pm

prueba esto... posiblemente me haya colado en algo porque hace tiempo que no programo en C :P

int i;
int num;
int espacios;
int asteriscos;

for (i = 0; i <= num; i++) {
for (espacios = 0; espacios <= i; espacios++) {
printf(" ");
}
for (asteriscos = 0; asteriscos <= (num - i); asteriscos++) {
printf("*");
}
printf("\n");
}
deivid
Integrandome
Integrandome
 
Mensajes: 4
Registrado: Mar Dic 12, 2006 18:05 pm

Notapor deivid » Vie Nov 23, 2007 13:32 pm

esto tiene mejor pinta :-D

for (i = 0; i < num; i++) {
for (espacios = 0; espacios <= i; espacios++) {
printf(" ");
}
int numasteriscos = 2 * (num - i) - 1;
for (asteriscos = 0; asteriscos < numasteriscos; asteriscos++) {
printf("*");
}
printf("\n");
}
deivid
Integrandome
Integrandome
 
Mensajes: 4
Registrado: Mar Dic 12, 2006 18:05 pm
Anterior

Volver a Otras Historias...

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado