Funkcja zwracająca silnie parametru n typu int.

0

Napisz funkcję, która dla podanego parametru n typu int zwróci silnię z n. Mam rozpisane o co chodzi z tym zwracaniem, lecz nie bardzo moge to zrozumiec. Moze mnie ktoś naprowadzić na odpowiedz? Żeby nie było, że nic nie zrobilem dodaje kod.

#include <stdio.h>
int main()
{
    int x;
    scanf("%d", &x);
    while (x != 0) {
        if (x > 0) {
            printf("%d", x * (x - 1));
        }
        if (x = 0) {
            printf("d", 0);
        }
    }
    return 0;
}
1

silnia(5) to 120. 120 jest tutaj wartością zwracaną przez funkcję silnia. Musisz napisać funkcję silnia (czy tam factorial) w taki sposób, aby to co napisałem było prawdziwe.

0
if(x=0) // wpisz do x wartość 0 i nigdy nie wykonaj tego if'a
Poncio napisał(a):

Napisz funkcję, która ...
i gdzie u ciebie jest ta funkcja?

0

czy tak to powinno wygladac?

#include <stdio.h>
int silnia(int n);
int main()
{
    int n, m;
    scanf("%d", &n);
    if (n == 0) {
        return 0;
    }
    if (n > 0) {
        printf("%d", n * (n - 1));
    }
    return n;
} 
1

Nie. Zadeklarowałeś funkcję silnia, ale gdzie ją zdefiniowałeś (tj. gdzie jest jej ciało)?

1

@Poncio, nie będziesz wiedzieć jak to zrobić dopóki nie przeczytasz przynajmniej pierwsze kilka stron z jakiegoś kursu, dalej to może zacząć wystarczać dokumentacja (zależy od inteligencji).
Jeżeli zaś wymarudzisz gotowca to stracisz (na własne życzenie) bardzo dobre zadanie do nauki.

Chciałeś - masz, ale następne zadanie dostaniesz bardziej skomplikowane i już nie będziesz mieć na czym trenować. Może to drugie też wymarudzisz, zaś dalej to będziesz zmuszony albo zrezygnować z kierunku albo opłacać fachowca.

#include <stdio.h>

unsigned silnia(unsigned x)
  {
   unsigned ret=1;
   while(x>1) ret*=x--;
   return ret;
  }

int main()
  {
   unsigned x;
   scanf("%u",&x);
   printf("%u\n",silnia(x));
   return 0;
  }
0

Twój program, oprócz funkcji main, którą ma każdy program ma zawierać też funkcję silnia(int n), w której znajdą się Twoje obliczenia. W funkcji silnia, nie w funkcji main, jak to masz teraz.

0

dziekuje, nastepnym razem postaram się wiecej zrobić sam ale teraz moge to spokojnie przeanalizować i do nastepnego zadania bede mial przynajmniej jakies podstawy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1