SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: ermiguel1979 en Viernes 20 de Noviembre de 2009, 11:28
-
Hola a todos. Tengo un ejercicio que realizar y no tengo ni ideita. Supuestamente tengo que hacerlo con bucles y arrays pero no le pillo el ritmo ni con un tambor. A ver si me echais una mano...
El ejercicio dice así:
Necesitamos un programa que imprima una pirámide de dígitos como la de la figura, tomando como entrada el número de filas de la misma:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
-
Haz un bucle general para el número de filas que desees introducir y dentro dos bucles más: (no necesitas usar arrays)
Uno que imprima esta parte
1 <-- Fila 1, de 1 hasta 1
1 2 <-- FIla 2, de 1 hasta 2
1 2 3 <-- Fila 3, de 1 hasta 3...
1 2 3 4
1 2 3 4 5
si te fijas siempre va de 1 hasta el número de fila en la que te encuentras.
Y el otro que imprima la parte que falta
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
si te fijas, aquí esta parte va desde el número de fila - 1, hasta 1
Por ejemplo para la fila 3 deberías hacer:
Bucle que va desde 1 hasta el número de fila (3 en este caso) imprimiendo los números
y seguidamente bucle que vaya desde el número de fila - 1 (3-1 en este caso) hasta 1
y te imprimirá
1 2 3 2 1
Creo que con esto deberías saber hacerlo ya :beer:
-
Gracias tio, me has sido de gran ayuda. Un saludo!
-
que tal yo nesesito ayuda en uno parecido
igual es una piramide pero va asi
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
....
es el triangulo de pascal...
-
asi es es el triangulo de pascal aqui les dejo el codigo
#include <stdio.h>
void pas(int);
main()
{
int n;
scanf("%d",&n);
pas(n);
system("pause");
return 0;
}
void pas(int a)
{
int t[a][a];
int r,c;
for(r=0;r<a;r++)
{
for(c=0;c<a;c++)
{
if(c==0)
t[r][c]=1;
else if((c!=0 || c<=r)&& r!=0)
t[r][c]=t[r-1][c-1]+t[r-1][c];
else
t[r][c]=0;
}
}
for(r=0;r<a;r++)
{ for(c=0;c<a;c++)
{
if(t[r][c]==0)
printf(" ");
else
printf("%d",t[r][c]);
}
printf("n");
}
}
-
Gracias chicos por vuestro tiempo. Un saludo...