Pętla for - brak zapętlenia
Ostatnio zmodyfikowano 2012-06-25 17:58
jarekbutek Temat założony przez niniejszego użytkownika |
Pętla for - brak zapętlenia » 2012-06-25 17:34:45 Pętla for nie powtarza instrukcji. Czemu? #include <iostream> using namespace std; int main() { int t; char pesel[11]; cin >> t; for(int x=0; x<t; x++) { cout << x << endl; cin >> pesel; int suma = (((int)pesel[0]-48) + 3*((int)pesel[1]-48) + 7*((int)pesel[2]-48) + 9*((int)pesel[3]-48) + ((int)pesel[4]-48) + 3*((int)pesel[5]-48) + 7*((int)pesel[6]-48) + 9*((int)pesel[7]-48) + ((int)pesel[8]-48) + 3*((int)pesel[9]-48) + ((int)pesel[10]-48)); if(suma > 0) { if((suma % 10)==0) cout<< "D" << endl; else cout << "N" << endl; } else cout << "N" << endl; } }
Dla wejścia 2 44051401458 12345678901
Mam wyjście: 0 D
|
|
xevuel |
» 2012-06-25 17:58:33 Prawdopodobnie to dlatego, że tablica znaków char pesel[ 11 ]; jest za mała. Do c-stringów dodawany jest na końcu znak \0, i brak możliwości umieszczenia tego znaku w tablicy spowodował, że prawdopodobnie wypadło na zmienną t, i wyzerowało ją. Dodam jeszcze, że mi np. działa bez problemu. |
|
« 1 » |