Funkcja która liczy ile razy dana wartość występuję w tablicy - nie rozumiem

0

Witam , moglby mi ktos wytłumaczyć dlaczego ten kod nie działa oraz w ogóle wytłumaczyc jak powinien działać?
Na studiach przepsiałem z tablicy ale po wpisaniu kodu w kompilator wcale nie działa...
Móglby ktoś zerknąc , poprawic i wytlumaczyc?

#include <iostream>

using namespace std;




int licz (float tab[], int l , float x)
{
    int c=0;
    for(int i=0;i<l;i++)
    {

        if(tab[i]==x)
            c++;
    }
    return c;
}
int main()
{
    licz(20,10,3);
    return 0;
}

2
licz(20,10,3);

20 nie jest tablicą.

1

float tab[] masz jako parater funkcji. Ty wywolujesz to tak
licz(20,10,3);
powiedz mi czy ma to sens

0

To co mogę wpisać zamiast 20 zeby wywołać tą funcje?

1

Zdefiniuj jakąś tablicę:

int main()
{
    float tab[10] = {1,2,3,42,8,34,3,0,-10,4.5};
    licz(tab,10,3);
    return 0;
}
0

Pewnie zwraca, ale nie wyświetlasz tego ani nic nie robisz więc tego nie widzisz

1

wez poczytaj jakis kurs. Przeciez Ty nawet nie potrafisz czytac kodu

przypisujesz ta funkcje do jakies zmiennej?

1

Mi działa: http://cpp.sh/5nz3m

0

A moglby mi ktos jeszcze wytlumaczyc czym jest ta zmienna l ?? domyslam sie ze l od length ale przeciez i tak dlugosc tablicy okreslam w głownej funkcji main

2

No ona jest długością, ale jak nie przekażesz długości do funkcji to wyjdziesz poza zakres tablicy i będzie błąd, jak byś używał std::array nie trzeba by tego przekazywać.

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