junior9520 Napisano Listopad 23, 2014 Zgłoś Share Napisano Listopad 23, 2014 Witam, jako zadanie domowe mam do wykonania program, który najpierw z pliku pobierze 10 liczb a następnie wypisze liczby , których suma cyfr jest liczbą pierwszą. Do tej pory napisałem coś takiego, ale nie działa i nie mam pomysłu co z tym dalej zrobić. Jestem w podstawie, nie chciałbym używać żadnych skompilowanych bibliotek itp. Zasada miała być taka, że sprawdza pierwszą liczbę, poprzez obliczenie jej sumy i porównanie czy jest to liczba pierwsza. I jeśli suma jest liczbą pierwszą to wypisze te liczbe i przejdzie do następnej w tablicy fstream plik; plik.open("liczby.txt", ios::in); if (plik.good() == true) { cout << "Otworzylem plik" << endl; } else { cout << "Blad. Problemy z plikiem" << endl; } string liczby[10]; for (int x = 0; x < 10; x++) { plik >> liczby[x]; cout << liczby[x] << "\t"; } cout << endl; cout << "Lancuchy ktorych suma cyfr jest liczba pierwsza" << endl; int suma = 0; int sp = 0; for (int x = 0; x < 10; x++) { suma = 0; sp = 0; for (int i = 0; i < liczby[x].length(); i++) { liczby[x][i] = liczby[x][i] - '0'; suma = suma + liczby[x][i]; } for (int b = 1; b <= suma; b++) { if (suma % b == 0) { sp = sp + 1; } } if (sp == 2) { cout << liczby[x] << "\t"; } } cout << endl; Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.