Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] SPOJ - Szyfr Cezara

Ostatnio zmodyfikowano 2017-09-23 23:26
Autor Wiadomość
Khyho
Temat założony przez niniejszego użytkownika
[C++] SPOJ - Szyfr Cezara
» 2017-09-23 00:17:21
Cześć,
Próbuje rozwiązać zadanie ze SPOJa pt. Szyfr Cezara http://pl.spoj.com/problems/JSZYCER/
Poniżej podaje kod, który wydaje mi się, że działa (moje próby wskazują na to, ze tak) ale SPOJ nie chce go przyjąć. Może ktoś nakierować dlaczego?

C/C++
#include <iostream>
using namespace std;

int main()
{
    string text;
    getline( cin, text );
    int x = text.length();
   
    for( int i = 0; i <= x; i++ )
    {
        if( text[ i ] == 32 )
             continue;
       
        else if(( text[ i ] >= 65 ) &&( text[ i ] <= 87 ) )
        {
            text[ i ] = text[ i ] + 3;
        }
        else if(( text[ i ] >= 88 ) &&( text[ i ] <= 90 ) )
        {
            text[ i ] = text[ i ] - 23;
        }
       
    }
    cout << text << endl;
    return 0;
}
P-165138
pekfos
» 2017-09-23 01:21:30
To słabo testujesz skoro przykład z zadania nie zadziała.
P-165140
maly7
» 2017-09-23 14:02:47
Jak wyżej, kod nawet nie działa poprawnie dla podanego przykładu.
W przykładzie są dwie linie, jedna po drugiej. Twój kod po zaszyfrowaniu jednej linii się kończy, a powinien zaszyfrować wszystkie po kolei.
To może okazać się pomocne:
while( getline( cin, text ) )
P-165149
Khyho
Temat założony przez niniejszego użytkownika
» 2017-09-23 23:26:58
Rzeczywiście, nie zwróciłem uwagi, że musimy mieć możliwość podania wielu linijek. Jak wstawiłem wszystko do pętli to jest ok :)
P-165161
« 1 »
  Strona 1 z 1