Mam taki problem z zadaniem SPOJ dokładnie z tym: https://pl.spoj.com/problems/JPESEL/
Program działa ale dla dwóch peseli (przykładowych z tego zadania) zawsze wyświetla że ten drugi jest poprawny, a według SPOJ-a nie powinien być oto fragment kodu:
int peselliczby[11];
int j =0;
for(int i = 0; i<=10; i++)
{
peselliczby[j]=pesel % 10;
pesel/=10;
j++;
}
int calasuma = 0;
int suma[11];
suma[0] = peselliczby[0] *1;
suma[1] = peselliczby[1] *3;
suma[2] = peselliczby[2] *1;
suma[3] = peselliczby[3] *9;
suma[4] = peselliczby[4] *7;
suma[5] = peselliczby[5] *3;
suma[6] = peselliczby[6] *1;
suma[7] = peselliczby[7] *9;
suma[8] = peselliczby[8] *1;
suma[9] = peselliczby[9] *3;
suma[10] = peselliczby[10] *1;
int k = 0;
for(int i = 0; i<=10; i++)
{
calasuma += suma[k];
k++;
}
//cout<<calasuma<<endl;
if(calasuma%10 == 0)
{
cout<<"D"<<endl;
}
else if(calasuma%10 != 0)
cout<<"N"<<endl;
Jeśli chcecie to mogę wysłać cały kod.