Witam
Mam błąd i nawet wiem gdzie, ale nie wiem, jak go poprawić, proszę od odpowiedź.
Z pliku tekstowego pobieramy 2 tysiące liczb i interesują nasz tylko liczby pierwsze.
1. policzyć, ile jest liczb pierwszych. I to mi się udało Zmienna pierwsze poprawnie pokazuje, ile jest tych liczb.
2. Wskazać najmniejszą i największą liczbę pierwszą. No to robię dynamiczną tablicę, której rozmiarem jest zmienna pierwsze, wsadzam do niej liczby pierwsze. Potem używam dwóch funkcji - maksimum i minimum. Te funkcje działają, bo w moim poprzednim pytaniu pytałam o nie i dostałam dobrą odpowiedź. Wiem, że nie działa wsadzanie liczb do tablicy. Jak to poprawić?
Alternatywą jest zrobienie po prostu tablicy, która ma 2000 miejsc, ale to bez sensu przecież.
Proszę bez dawania mi gotowych rozwiązań, kompletnie nowych kodów, bo to jest moja praca domowa i zależy mi na tym, żeby było to jak najbardziej samodzielne, potrzebuję tylko poprawki. Wklejam tylko tę część kodu, która jest do punktu 2. Brakująca część jest tylko do punktu 1., a punkt 1. jest dobrze i nie widzę sensu we wklejaniu wszystkiego.
{int *tablicaPierwszych= new int[pierwsze];
for ( int i=0; i<2000; i++)
{
liczby >> liczba;
if ( pi(liczba) )
{
tablicaPierwszych[i]=liczba;
cout << tablicaPierwszych[i] << endl;
}
}
cout << maksimum ( tablicaPierwszych, pierwsze) << endl;
liczby.close();
wynik.close();
delete []tablicaPierwszych;
return 0;}
int maksimum ( int *wsk, int ile)
{
int najw = *wsk;
for (int i=1; i<ile; i++)
{
if ( najw < *( wsk + i ) )
{
najw = *(wsk+i);
}
}
return najw;
}
int minimum ( int *wsk, int ile)
{
int najw = *wsk;
for (int i=1; i<8; i++)
{
if ( najw > *( wsk + i ) )
{
najw = *(wsk+i);
}
}
return najw;
}