Witam! Program poniżej ma za zadanie wczytać z pliku "In0104.txt" przedział liczbowy, z danego przedziału wyznaczyć liczby pierwsze i zapisać je do pliku "Out0104.txt". Ponadto chciałbym, aby te wypisane wartości były zliczone, jednak motam się i motam, i mam problem z tą implementacją.
IN: 2 60
OUTPUT: liczby pierwsze
Kod programu:
#include <iostream>
#include <string>
#include <fstream>
#include<cstdlib>
#include<cstdio>
using namespace std;
int main(void)
{
int a, b, liczba, k, i, j, l;
int ilosc;
//CZYTANIE Z PLIKU
ifstream inputFile("In0104.txt");
if (inputFile.is_open()) {
inputFile >> i >> j;
cout << "Wczytano przedzial liczbowy z pliku: " << endl;
cout << i << ", " << j << endl;
cout << "Liczby pierwsze z przedzialu od " << i << " do " << j << " to : ";
//cout << " Ilosc liczb pierwszych z danego przedzialu: " << ilosc-1 << endl;
//ZAPIS WYNIKÓW DO PLIKU:
ofstream outputFile("Out0104.txt");
if (outputFile.is_open()) {
//Z TYM WHILE'em jest cos nie tak ?
/*else
{
while(!feof(outputFile))
{
fgetc (outputFile);
ilosc++;
}*/
}
// Liczby pierwsze
for(a = 3; a <= j; a++)
{
liczba = 1;
for(b = 2; b < a; b++)
{
if(a%b == 0)
{
liczba = 0;
break;
}
}
if(liczba == 1 && a < j)
{
cout << a << ", ";
outputFile << a << ", ";
}
else if (liczba == 1)
{
cout << a;
outputFile << a;
}
}
}
}