• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PESEL Polski SPOJ

VPS Starter Arubacloud
0 głosów
342 wizyt
pytanie zadane 1 listopada 2019 w C i C++ przez creend Gaduła (4,700 p.)

Mam problem z zadaniem na SPOJ'u. Jak robię testy mi działa jednak sędzia odrzuca

#include <iostream>
#include <string>

using namespace std;

int N,suma;
string pesel;
int pesele[11];
int main()
{

    cin>>N;
   for(int i=0; i<N; i++)
   {

     cin>>pesel;
     for(int j=0; j<11; j++)
     {
     if(pesel[j]=='0') pesele[j]=0;
     else if(pesel[j]=='1') pesele[j]=1;
     else if(pesel[j]=='2') pesele[j]=2;
     else if(pesel[j]=='3') pesele[j]=4;
     else if(pesel[j]=='4') pesele[j]=4;
     else if(pesel[j]=='5') pesele[j]=5;
     else if(pesel[j]=='6') pesele[j]=6;
     else if(pesel[j]=='7') pesele[j]=7;
     else if(pesel[j]=='8') pesele[j]=8;
     else if(pesel[j]=='9') pesele[j]=9;
     }
     suma=pesele[0]*1+pesele[1]*3+pesele[2]*7+pesele[3]*9+pesele[4]*1+pesele[5]*3+pesele[6]*7+pesele[7]*9+pesele[8]*1+pesele[9]*3+pesele[10]*1;
     if(pesel.length()!=0) cout<<"N"<<endl;
     else if(((suma%10==0)&&(suma!=0))&&(suma>0)) cout<<"D"<<endl;
     else cout<<"N"<<endl;

     suma=0;
   }
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 1 listopada 2019 przez Whistleroosh Maniak (56,900 p.)
wybrane 1 listopada 2019 przez creend
 
Najlepsza
1) W 22. linii wpisujesz złą wartość do tablicy

2) Nie rozumiem dlaczego w linii 31. wypisujesz "N", gdy długość stringa jest różna od 0, to nie ma sensu. Może chodziło Ci o sprawdzenie czy długość peselu ma długość inną od 11 i wtedy chciałeś wypisać "N". Tylko że w zadaniu powiedziane jest, że string zawsze będzie miał długość 11, więc ten if jest zbędny.

Jeżeli poprawisz linię 22. i usuniesz 31. to program powinien być poprawny
komentarz 1 listopada 2019 przez creend Gaduła (4,700 p.)
Dzięki wielkie za pomoc

Podobne pytania

0 głosów
0 odpowiedzi 393 wizyt
pytanie zadane 3 października 2019 w SPOJ przez Bartek K. Nowicjusz (230 p.)
0 głosów
2 odpowiedzi 5,302 wizyt
pytanie zadane 28 kwietnia 2016 w C i C++ przez drive879 Nowicjusz (160 p.)
0 głosów
1 odpowiedź 649 wizyt
pytanie zadane 25 lipca 2018 w SPOJ przez Deriquest Użytkownik (550 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...