SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: yulianix en Viernes 19 de Noviembre de 2004, 11:18
-
Tengo que hacer una especie de piramide con números, supongo que para vosotros es fácil, pero yo estoy empezando y me quedado un poco trabado, os expongo el problema.
Número Fila número impar número par
0 0 12345 1234
1 3 02340 0230
2 3 00300 0000
3 5 00000 0230
4 5 00300 1234
5 7 02340
12345
Había empezado algo así pero me he liado.
#include<stdio.h>
#include<conio.h>
void main (void)
{
int i,j,medio,alto,num,relleno;
clrscr();
printf("\n Qué número quieres meter: ");
scanf("%d",&num);
relleno = 0; //Esto es para poner un car cter cero
alto =
medio=alto-1;
i=j=0;
for(i=0;i<alto;i++) //Para i=0 hasta alto
{
for(j=0;j<num;j++) //Para j=0 hasta num
{
if((j>=medio-i) && (j<=medio+i))
printf("%d", num);
num --;
else
printf("%d", relleno);
}
printf("\n");
}
getch();
}
Pero creó que hay que hacer un bucle para meter números pares o impares si son pares alto=num+1 y medio=
Bueno que si me podeís echar una mano, sólo orientarme, el ejercio pretendo hacerlo yo,
-
Cuándo metes un número impar sale:
ej:5
12345
02340
00300
00000
00300
02340
12345
Cuándo metes un número par salé:
ej:4
1234
0230
0000
0230
1234
Y le problema es que me sale solo hasta la mitad hasta los ceros y no la otra mitad y otra es el incremento del número que si meto cinco me salen sólos 0 y 5.
Gracias por la ayuda.
-
#include<stdio.h>
#include<conio.h>
void main (void)
{
int i,j,medio,ancho,alto,numero;
char relleno;
clrscr();
printf("\n Inserta el n£mero para dibujar: ");
scanf("%d",&numero);
relleno = '0'; //Esto es para poner un car cter vac¡a
ancho=numero;
i=j=0;
if(numero%2==0)
{
alto=numero+1;
medio=(alto+1)/2;
}
else
{
alto=numero+2;
medio=(alto+1)/2;
}
for(i=0;i<alto;i++) //Para i=0 hasta alto
{
for(j=0;j<ancho;j++) //Para j=0 hasta ancho
{
if((j>=medio-i) && (j<=medio+i))
printf("%d", numero); // se pone %d la variable es un n£mero
else
printf("%c", relleno); //se pone c por que la variable es un car cter
}
printf("\n");
}
printf("\n Con cero y negativos nada de nada.");
getch();
}
Hasta aquí he llegado me sale bien la altura, pero los números me salen descolocados. y no se que hacer más.