Witam,
w tym przypadku musisz tylko "podmienić" cin na pętlę, która obsługuje czytanie z pliku i stamtąd pobieramy właściwą liczbę i prowadzimy obliczenia, które już podałeś. Przykładowe rozwiązanie
#include <iostream>
#include <fstream>
int main()
{
std::string line;
std::ifstream myfile("numbers.txt");
if(myfile.is_open())
{
while(myfile >> line)
{
//std::cout << line << " " << std::endl;//podglad pliku
int a = std::stoi(line);
//Twoj kod
int podzielna;
std::cout << "Nowa liczba" << std::endl; //poinformaowanie o nowej liczbie dla czytelności
std::cout << 2 << std::endl;
for (int kolejna=3; kolejna<=a; kolejna++)
{
podzielna = 0;
for (int i = 2; i < kolejna; i++)
{
if (!(kolejna%i))
{
podzielna = 1;
break;
}
}
if (!podzielna)
{
std::cout << kolejna << std::endl;
}
}
//nowa liczba
}
myfile.close();
}
return 0;
}
Można ten kod poprawić bo nie działa prawidłowo dla wartości mniejszych od 2 np dla jedynki. W pliku numbers.txt umieści liczby całkowite oddzielone spacją bądź nową linią.
1 2 3 4 5 6 7 8 9
10 22 23
Więcej informacji: