Ĺadny brzuch
Żebyście mnie lepiej zrozumieli wklejam kod programu, który powinien zwrócić liczbe wcześniej wpisaną jako integer w postaci tablicy znaków, jednak nie mogę sobie poradzić z tym żeby potem jak rekurencje nie są już wywoływane tylko poszczególe rekurencje zwracają wartości do tab, żeby przesunąć wskaźnik na następny index tablicy, nie pomaga tab++, mysle że chyba należy coś w deklaracji funkcji pokombinować ale nie wiem za bardzo jak.
#include<stdio.h> #include<math.h> void wypisz(int n, char*); int main(void) { int x; char tab[20]=""; printf( "wprowadz liczbe calkowita: " ); scanf( "%d", &x); printf( "\n podane = %d\n", x ); wypisz(x,tab); printf( "rekurencja = %s",tab ); printf("\n"); return 0; } /******************************************************/ void wypisz( int liczba, char *tab) { int x; if(liczba<0) { putchar('-'); liczba=-liczba; } x=liczba/10; if(x != 0) wypisz(x,tab++); *tab='0'+liczba%10; tab++; }
już sobie poradziłem, zamiast w wywołaniu rekurencyjnym tab++ należało napisac tab+1, thx wszystkim którzy zerkneli na mój algorytm za fatyge.
pozdrawiam ;)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
#include<stdio.h> #include<math.h> void wypisz(int n, char*); int main(void) { int x; char tab[20]=""; printf( "wprowadz liczbe calkowita: " ); scanf( "%d", &x); printf( "\n podane = %d\n", x ); wypisz(x,tab); printf( "rekurencja = %s",tab ); printf("\n"); return 0; } /******************************************************/ void wypisz( int liczba, char *tab) { int x; if(liczba<0) { putchar('-'); liczba=-liczba; } x=liczba/10; if(x != 0) wypisz(x,tab++); *tab='0'+liczba%10; tab++; }
już sobie poradziłem, zamiast w wywołaniu rekurencyjnym tab++ należało napisac tab+1, thx wszystkim którzy zerkneli na mój algorytm za fatyge.
pozdrawiam ;)