Banalny problem, podzielic program na funkcje [C]

Caballero
Użytkownik
Użytkownik
Posty: 49
Rejestracja: 3 lis 2010, o 20:33
Płeć: Mężczyzna
Lokalizacja: Kpns
Podziękował: 3 razy
Pomógł: 9 razy

Banalny problem, podzielic program na funkcje [C]

Post autor: Caballero »

Mam dosyć banalny problem. Siedzę nad tym już od dłuższego czasu i nie wiem jak mam podzielić poniższy program na 3 funkcje,

Kod: Zaznacz cały

POBIERZ(i,n,max,x,wsp);   //musi zwracac i, n, wsp, x
ALORYTM(i,n,x,wsp);          //musi zwracac i, wsp
WYJSCIE(i,n,wsp);

Kod: Zaznacz cały

#include <stdio.h>

int main ()
{
    int n,max;          //stopien dzielnika i dzielnej
    int i;
    float x;            //pierwiastek dzielnika
    
    //POBRANIE ZMIENNYCH
    do
    {
        printf("
deg W(x) = "); scanf("%d",&max);
        if(max>20 || max<0) printf("
deg W(x) musi zawierac sie w przedziale <0;20>
Podaj jeszcze raz");
    }
    while (max>20 || max<0);
    
    do
    {
          printf("
deg Q(x) = "); scanf("%d",&n);
          if (n<0) printf("
deg Q(x) musi byc wiekszy od 0");
    }
    while (n<0);
    
    printf("
Podaj pierwiastek dzielnika - "); scanf("%f",&x);
    
    
    float wsp[max];  //wspolczynniki dzielnej
    
    //WPISANIE WSPOLCZYNNIKOW DO TABLICY
    for (i=0;i<max+1;i++)
    {
        printf("
wsp przy x^%d = ",i);
        scanf("%f",&wsp[i]);
        printf("	Podales %.2fx^%d",wsp[i],i);
    }
    printf("

i = %d",i);
    
    //ALGORYTM
    float wynik;
    int k,r;
    i--;
    wynik=wsp[i];
    printf("

P(x) = %.2fx^%d",wsp[i],i-n);
    for(k=n;k>0;k--)
    {
         wynik=wsp[i];
         for(r=i;r>0;r--)
         {
              wsp[r-1]=wynik=x*wynik+wsp[r-1];
         }
    }
    //WYJSCIE
    for(r=i;r>0;r--)
    {
         if (r-n-1>=0) printf("  %.2fx^%d",wsp[r-1],r-n-1);
    }
    printf("
R(x) = ");
    for(r=i;r>0;r--)
    {
         if (r-n-1<0) printf("  %.2fx^%d",wsp[r-1],r-1);
    }
    
    
    printf("

");
    
}
Tillo
Użytkownik
Użytkownik
Posty: 66
Rejestracja: 23 kwie 2009, o 14:00
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 10 razy
Pomógł: 4 razy

Banalny problem, podzielic program na funkcje [C]

Post autor: Tillo »

W kodzie oznaczyłeś już mniej więcej, jakby to podzielić na funkcje więc zrób to. Co do zwracania wartości, funkcja zwraca jedną wartość ale np w przypadku wejścia zmienne tworzysz w funkcji main a do funkcji typu void przekazujesz referencje do nich bądź adresy do wskaźników, ale myślę że z referencjami łatwiej Resztę zrób analogicznie
Caballero
Użytkownik
Użytkownik
Posty: 49
Rejestracja: 3 lis 2010, o 20:33
Płeć: Mężczyzna
Lokalizacja: Kpns
Podziękował: 3 razy
Pomógł: 9 razy

Banalny problem, podzielic program na funkcje [C]

Post autor: Caballero »

No właśnie przeszkadza mi to, że zwraca tylko jedną wartość..
Dzięki za podpowiedź z tymi wskaźnikami. Sam wcześniej trochę pozmieniałem i jakoś to działało, ale nie było zadowalające. Zaraz się pobawię.
ODPOWIEDZ