Witam!
Mam do rozwiązania zadnie:

Napisz program, który wczyta do tablicy liczby całkowite i wypisze na ekranie ile razy w tablicy pojawiła się pewna liczba. Pierwszy wiersz danych zawiera liczbę elementów do wczytania (jest ich mniej niż 100), kolejny te elementy. Ostatni wiersz to liczba całkowita, której liczbę wystąpień w tablicy mamy obliczyć.


Przykład:
Dane:

4
1 2 2 2
2

Wynik:

3


Napisałem program:


#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int l, i;
int z = 0;
float tab[100], s;


scanf("%d", &l);


for(i=0; i<l; i++)
{
scanf("%lf", &tab[i]);
}

scanf("%lf", &s);

for (i=0; i<l; i++)
{
if(s==tab[i])
{
z++;
}
}

printf("%d", z-1);

return 0;
}


Co mam źle zrobione? wartość "z" w niektórych przypadkach jest za duża o 1, więc zrobiłem z-1, lecz w niektórych jest za mała o 1... Prosze o pomoc!