Ayuda con recursividad en C plz

  • Iniciador del tema Iniciador del tema Ibellog
  • Fecha de inicio Fecha de inicio

Ibellog

Usuario Nuevo nvl. 1
27 Ene 2012
314
0
16
Concepción Town
www.twitter.com
Hola amigos resulta que tengo el siguiente programa:
#include <stdio.h>

int linea(int);
int main()
{
char numero;
int cont;
numero=5;

printf("Introduzca el numero de lineas que desee \n");//
scanf("%d",&numero);

for (cont=0;cont < numero;cont++)
linea(cont);

fflush(stdin);
getchar();
return 1;
}

int linea(int caracteres)
{
int cont;

for(cont=0;cont<=caracteres;cont++)
putchar((cont%9)+'++a' );
printf("\n");

return 1;
}


que imprime algo asi como:


a
ab
abc
abcd...


Bueno yo necesito efectuar lo mismo con una funcion recursiva que imprima la piramide al revez:


abcde
abcd
abc
ab
a


Por favor! ayuda....
 
mira este link que sale la tabla ascii, http://gonzo.teoriza.com/tabla-codigo-ascii
y trabaja imprimiendo el char relacionado con un numero.

fijate que a=97, entonces si numero=5, empezaria con abcde,luego abcd.
entonces limite= a+(numero-1)= 101

aqui el pseudocodigo(no es c)

funcion(limite,)
{
if(limite==97)
{
imprimir a
return 1;
}
for(int i=97;i<=limite;i++)
{
imprimir el char cuyo numero es limite
}
funcion(limite-1)
}

//llama a la funcion asi
a=97
limite= a+(numero-1);
funcion(limite)
if(funcion==1 && numero>0)
imprimir funcion
else
imprimir "no se puede obtener blabla"
 
Última edición:
main(){
piramide2(V[],x);
piramide(V[ ] ,x);
}


piramide (V[ ],X)
{
print V[x];
if(V[x]>=0)
piramide(V[],V[x-1];
}

piramide2 (int V[ ],int X){ // funcion que te imprime el vector completo
z=x;
int k=0;
print V[x];
if(V[x]<>V[y+1])
piramide2(V[],V[x+1]);
}

pD: me faltaron weas pero por ahi va que me di cuenta que tenia errores en la declaracion y weas
 
Última edición:
#include <stdio.h>
#include <stdlib.h>


void funcion(int limite);//prototipo de la funcion
int main(void)
{
int n;
printf("Introduzca el numero de lineas que desee \n");
scanf("%d",&n);
if(n<0)
{
printf("error");
}
else{
int limite;
limite= 97+n;
funcion(limite);
}
}

void funcion(int limite)
{
int i;
if(limite==97)
{
return;
}
for( i=97; i<limite; i++) {
printf("%c ", i);
}
printf("\n");
funcion(limite-1);
}