1. Jeśli chcesz zliczyć elementy, to najpierw przekopiowujesz, potem zliczasz. Czyli musisz najpierw wykonać pętlę przekopiowującą, potem zliczającą:
int main()
{
int tab[10]={1,1,2,2,2,3,3,3,3,3};
int zlicz = 0;
int tab2[10]={0};
printf("Liczby w tablicy: \n");
for(int i=0; i<10; i++){
printf("%d ", tab[i]);
tab2[i] = tab[i];
}
for(int j=0; j<10; j++)
if(tab2[j]==tab[j])
zlicz= zlicz+1;
printf("\n\nIle: %d", zlicz);
}
2. Nie rozumiem zupełnie co chciałeś w ogóle osiągnąć? Co masz na myśli mówiąc zliczanie elementów jednakowych?
Dla przykładu, jeśli będziesz liczył elementy jednakowe w obu tablicach (oryginalnej i przekopiowanej: tab
i tab2
) to siłą rzeczy zawsze wyjdzie Ci 10...
Jeśli będziesz liczył elementy sobie równe, to ile ma być tych elementów dla 2
? ` 3, czy 2?
Doprecyzuj pytanie, bo w tej chwili rzuciłeś ludziom kawałek kodu, nie powiedziałeś nic poza Ej, nie działa. i tyle.
Jak przychodzisz do mechanika, to mówisz że coś stuka, skrzypi w prawym kole, czy silnik terkocze na wolnych czy też wysiadasz, rzucasz kluczyki mechanikowi, stwierdzasz lakonicznie, że Nie działa i odchodzisz?