Programa Piramide en C
Publicado por Franklin Nin (1 intervención) el 10/05/2010 20:38:19
Saludos. Muy buenas. Tengo un codigo en C que crea una piramide de numeros de la siguiente manera
1
232
34543
456543
5678765
etc......
El codigo es el siguiente
#include <stdio.h>
#include <stdlib.h>
int main(){
int x,o;
for(x=1;x<11;++x){
/* Aqui es el espaciado */
printf("%*c", 20-x, ' ');
for(o=1;o<=x;++o)
printf("%d%s",(x+o-1)%10, (x-1)?"":"\n");
for(o=o+x-3;o>=x;--o)
printf("%d%s", o%10, (x-o)?"":"\n");
}
printf("\n");
system("pause");
return 0 ;
Parece que el codigo esta un poco ofuscado. Mi inquietud es la siguiente, hay parte del codigo que no entiendo que es lo que hace por ejemplo (x-1)?"":"\n");---Tengo entendido que ?: se usa para condicion, pero ahi no veo la condicion osea "if (x-1) printf "" ....no le veo sentido. lo que quiero es entender esta parte de codigo y que este codigo se entienda mejor porque trate mucho en entender el codigo, pues parece que esta simplificado. Gracias de antemano.
1
232
34543
456543
5678765
etc......
El codigo es el siguiente
#include <stdio.h>
#include <stdlib.h>
int main(){
int x,o;
for(x=1;x<11;++x){
/* Aqui es el espaciado */
printf("%*c", 20-x, ' ');
for(o=1;o<=x;++o)
printf("%d%s",(x+o-1)%10, (x-1)?"":"\n");
for(o=o+x-3;o>=x;--o)
printf("%d%s", o%10, (x-o)?"":"\n");
}
printf("\n");
system("pause");
return 0 ;
Parece que el codigo esta un poco ofuscado. Mi inquietud es la siguiente, hay parte del codigo que no entiendo que es lo que hace por ejemplo (x-1)?"":"\n");---Tengo entendido que ?: se usa para condicion, pero ahi no veo la condicion osea "if (x-1) printf "" ....no le veo sentido. lo que quiero es entender esta parte de codigo y que este codigo se entienda mejor porque trate mucho en entender el codigo, pues parece que esta simplificado. Gracias de antemano.
Valora esta pregunta


0