Mam takie zadanie:
Napis pierwszy to taki napis, w którym suma kodów ASCII jest liczbą pierwszą.
Przykładowo, suma kodów ASCII w napisie ABB wynosi 197 i jest liczbą pierwszą,
co oznacza, że napis ABB jest napisem pierwszym. Podaj, ile jest napisów pierwszych
w pliku NAPIS.TXT.
Jak mam sprawdzić, numer w tabeli ASCII jaki ma dana literka?
póki co kombinowałem coś w ten deseń:
#include <iostream>
#include <fstream>
using namespace std;
int czy_pierwsza(string c){
int z=c.size();
int x = 0;
char y[25];
for(int i=0;i<z;i++){
c[i]=y[i];
x+=y[i];
}
return x;
}
int main()
{
fstream plik;
plik.open("NAPIS.TXT", ios::in | ios::out);
string c;
char z;
while(!plik.eof()){
plik>>c;
cout<<czy_pierwsza(c)<<endl;
}
return 0;
}
Jednak wyniki są na minusie, więc na pewno coś jest nie tak. Zależy mi na rozwiązaniu maturalnym, w sensie takim ,aby przeszło przez GNU kompilator i oczywiście na CodeBlocks.
Z góry dziękuje za pomoc :)