Chodzi o to, że muszę stworzyć tablicę liczb, którego rozmiaru nie znam, i nie chodzi mi sytuację, w którym program wprost zapyta się użytkownikowi na starcie ile elementów chce wprowadzić, on ma wpisywać liczby i gdy mu się odechce, program ma przechodzić do następnych partii kodu tzn. mają się wyświetlać liczby pierwsze.
no to użyj std::vector
może vector?
vector albo list, to zależy co chcesz z tym potem robić
nie mam pojęcia jak dodać elementy do tego wektora można tak, ale i tak użytkownik będzie musiał się zadeklarować ile elementów chce dodać;/
vector<int> tab;
cin >> n;
for( int i=0; i<n; ++i )
{
int element;
cin >> element;
tab.push_back(element);
}
@helpme, po utworzeniu sita Eratostenesa, pozostawiając liczby w sicie masz koszt sprawdzenia czy to pierwsza równy O(1) 'if(sito[X])`.
Po przepisaniu do tablicy masz koszt sprawdzenia O(P) gdzie P-rozmiar tablicy.
UWAGA - pytanie, po kiego grzyba chcesz pogorszyć swój algorytm?
@_13th_Dragon Nie dowidzisz ->
nie mam pojęcia jak dodać elementy do tego wektora można tak, ale i tak użytkownik będzie musiał się zadeklarować ile elementów chce dodać;/
vector<int> tab;
cin >> n;
for( int i=0; i<n; ++i )
{
int element;
cin >> element;
tab.push_back(element);
}
co z tego, że dostałem odpowiedzi jak problem nie rozwiązany?
helpme napisał(a):
ale i tak użytkownik będzie musiał się zadeklarować ile elementów chce dodać;/
To przerób to na:
vector<int> tab;
while(JAKIS_WARUNEK_ZAKOŃCZENIA) tab.push_back(JAKAS_KOLEJNA_WARTOSC);
@helpme ale czy czasem nie jest tak że chcesz po prostu sprawdzać pierwszość wprowadzonych liczb? To sprawdzaj zaraz po wczytaniu liczby. Nie potrzebujesz ich nigdzie składować...
liczb
std::valarray
spamuje cały czas, bo zakochał się w swoim kodzie, który stworzył, nie patrzy na tytuł tematu i pytanie, które zadaje, a wy na to pozwalacie... Dowiem się w końcu czy da się w ogóle się wypełnić tą tablicę tak jak ja chce?
Jesteś bezczelny. Proszę bardzo, kod dla Ciebie.
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
using namespace std;
auto main()->int{
vector<int> v;
copy(istream_iterator<int>(cin), istream_iterator<int>(), v.begin());
}