Program wyświetla błędne wartości. Myślę że błąd jest tutaj:
for(j=0; j<rozmiar; j++)
{
tabDodatnie[j] = tab[i];
}
Nie wiem jak to naprawić. W C# użyłbym list i metody Add i nie było by problemu, ale to jest w C i muszą być tablice.
```c
//Szukamy dodatnich
for(i=0; i<rozmiar; i++)
{
if(tab[i] > 0)
{
for(j=0; j<rozmiar; j++)
{
tabDodatnie[j] = tab[i];
}
}
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int tabDodatnie[100];
int tabNieDodatnie[100];
int tab[100];
int rozmiar;
int i = 0;
int j = 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: ");
//Szukamy dodatnich
for(i=0; i<rozmiar; i++)
printf("%d ", tab[i]);
//Szukamy dodatnich
for(i=0; i<rozmiar; i++)
{
if(tab[i] > 0)
{
for(j=0; j<rozmiar; j++)
{
tabDodatnie[j] = tab[i];
}
}
}
//Liczby Dodatnie
printf("\nLiczby dodatnie w twojej tablicy to: ");
//Szukamy dodatnich
for(i=0; i<rozmiar; i++)
printf("%d ", tabDodatnie[i]);
}
else
printf("Nieprawidlowy rozmiar!");
//************************************************
printf("\n");
printf("\n");
system("PAUSE");
return 0;
}