Traktuj jako sugestie....
1. Proponuję potraktować tablicę jako ciągłą przestrzeń 100 int'ów (10 x 10). Tylko w trakcie prezentacji masz konieczność wydzielania kolumn i wierszy. Takie podejście powoduje także szybszy dostęp do danych ze względu na trafianie w cache (choć dla 100 elementów to jest na wyrost ale warto przećwiczyć :-) ).
2. Tablicę wyczyścić możesz przez memset() z <string.h>. Będzie szybsze niż ręczne budowanie pętli (lub 2) for.
3. Brak inicjalizacji generatora liczb losowych. Użyj srand(...) tylko 1 raz przed wywołaniami random().
4. Zwróć uwagę że wszelkiego rodzaju indeksy do tablic, nie są typu int tylko size_t.
5. Język C nie dopuszcza int main(). Standard C (C11) dopuszcza jedynie:
int main(void);
int main(int argc, char* argv[]);
6. Warto wyrabiać sobie nawyk zwracania EXIT_SUCCESS z nagłówka <stdlib.h> z return main..
7. Może warto wydzielić funkcje wykonujące operacje? Tak aby main wyglądał jak coś co ma rzeczywiście robić w sensie logiki samych kroków zadania?
8. Co Ci mówią komentarze "pętla czwarta"? One się nie odnoszą w żaden sposób do treści zadania.
9. Po policzeniu liczb parzystych, ilość liczb nieparzystych to różnica z maksymalną ilością liczb w tabeli. Nie ma sensu liczyć tego 2 razy. Tak "w trakcie" jak i przy użyciu oddzielnych pętli iterujących po danych z tabeli.