Zmienna pozyskuje dziwną wartość

0

Witam mam taki problem ze zmienna ze po wykonaniu pętli nabiera ona dziwnej wartości.
Chodzi mi o zmienną int 'w'. Po wpisaniu numeru pesel przy początkowej załóżmy w=2 po wykonaniu pętli w=55.
Na dole zamieszcza kod.

#include <iostream>
using namespace std;
int main()
 {
int w;
cin >>w;
const int testy=w-1;





int suma;
int ipesel[10];	
char pesel[10];
for(int a=0;a<=testy;a++)
{


				for(int i=0;i<11;i++)
				{
				cin>>pesel[i];
				}
			
					for(int i=0;i<11;i++)
					{
					ipesel[i]=(int)pesel[i]-'0';
					}
			
			
			
			suma=ipesel[0]*1+ipesel[1]*3+ipesel[2]*7+ipesel[3]*9+ipesel[4]*1+
			ipesel[5]*3+ipesel[6]*7+ipesel[7]*9+ipesel[8]*1+ipesel[9]*3+ipesel[10]*1;
			
		
	if(suma>0)
	{
		if(suma%10==0)
		cout<<"D"<<endl;
	else
	cout<<"N"<<endl;
	}
		else cout<<"N"<<endl;		
			
			
			
}
			return 0;
			}
0

jak to mozliwe skoro nie zmieniasz zmiennej w w trakcie dzialania programu?
edit: podziel sie co dokladnie dajesz temu programowi na wejsciu gdy niespodziewanie w=55 (i w ktorym momencie w jest rowne 55)

2

Tablica pesel ma 10 elementów o indeksach 0..9, a Ty odnosisz się w pętli do dziesiątego.
Btw, naucz się formatować kod poprawnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1