Witam,
Mam problem, wyjaśnię na przykładzie.
- Włączam program.
- Podaje, że chce 5 liczb.
- Podaje liczby 1, 2, 3, 4, 5.
- Pytanie dlaczego mój program podaje, że w tablicy jest 5 elementów zerowych skoro nigdzie nie podałem zero, to powinien wyświetlić ilość elementów zerowych = 0. Jak to naprawić ?
//Liczymy ile jest elementow zerowych
for(i=0; i<rozmiar; i++)
{
if(tab[i] == 0);
{
ile++;
}
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int tab[100];
int rozmiar;
int i = 0;
int suma = 0;
float srednia = 0;
int ile = 0;
printf("Nie wiecej niz 100! Podaj ile elementow ma miec tablica: ");
scanf("%d", &rozmiar);
if(rozmiar !=0 && rozmiar <100)
{
do
{
printf("Podaj %d element tablicy: ", i+1);
scanf("%d", &tab[i]);
i++;
}while(i != rozmiar);
printf("\nLiczby w twojej tablicy to: ");
for(i=0; i<rozmiar; i++)
printf("%d ", tab[i]);
//Liczymy ile jest elementow zerowych
for(i=0; i<rozmiar; i++)
{
if(tab[i] == 0);
{
ile++;
}
}
printf("\n W tablicy jest zerowych elementow: %d", ile);
//Suma
for(i=0; i<rozmiar; i++)
{
if(tab[i] != 0);
{
suma += tab[i];
}
}
//Średnia niezerowych
if(rozmiar - ile != 0)
{
srednia = suma/(rozmiar - ile);
printf("Srednia niezerowych elementow: %.2f", srednia);
}
}
else
printf("Nieprawidlowy rozmiar!");
//************************************************
printf("\n");
printf("\n");
system("PAUSE");
return 0;
}