• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[c] Zliczanie wystąpień danej liczby w tablicy - rekurencja

0 głosów
2,158 wizyt
pytanie zadane 19 marca 2017 w C i C++ przez AndekQR Użytkownik (880 p.)

Program ma za zadanie zliczanie wystąpień wczytanej cyfry w tablicy, która jest wypełniona pseudolosowymi cyframi. Program nie działa poprawnie więc proszę o wyjaśnienie gdzie jest błąd.  Program musi wykorzystywać rekurencje.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>



unsigned int licz(int tab[], int a, int ELEMENTS)
{
    int licznik=0;
    if((tab[ELEMENTS] == a) && (ELEMENTS >= 0))
        licznik++;
    if(ELEMENTS)
        return licz(tab, a, ELEMENTS-1);
    else
        return licznik;
}

int main()
{
    int i, a, ELEMENTS=10;
    srand(time(NULL));
    int tab[ELEMENTS];
    for(i=0; i<ELEMENTS; ++i)
    {
        tab[i] = rand()%10;
        printf("%d\n", tab[i]);
    }

    scanf("%d", &a);
    printf("\n%d",licz(tab, a, ELEMENTS));
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 19 marca 2017 przez mokrowski Mędrzec (158,960 p.)
wybrane 19 marca 2017 przez AndekQR
 
Najlepsza
Zmienną licznik zerujesz przy każdym wejściu do funkcji licz().

Podobne pytania

+1 głos
2 odpowiedzi 953 wizyt
pytanie zadane 6 września 2016 w PHP przez niezalogowany
+1 głos
3 odpowiedzi 1,530 wizyt
pytanie zadane 13 maja 2018 w C i C++ przez periedynek Obywatel (1,320 p.)
0 głosów
1 odpowiedź 1,199 wizyt
pytanie zadane 12 marca 2020 w C i C++ przez Programmingc100 Bywalec (2,620 p.)

93,733 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,295 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...