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

Spoj nie akceptuje kodu na alfabet Morse'a

0 głosów
1,092 wizyt
pytanie zadane 21 sierpnia 2020 w SPOJ przez magda_19 Gaduła (3,080 p.)
zmienione kategorie 21 sierpnia 2020 przez ScriptyChris

Witam, 

Rozwiązuję zadanie ze spoja o alfabecie Morse'a. Wszystko w konsoli działa, podane przypadki też, a jednak spoj nie przyjmuje. Gdzie może tkwić błąd?

 

#include <iostream>
#include <map>
#include <string>

using namespace std;


int main() {
    string napisDoZaszyfrowania;

     const int liczbaWierszy = 100;
     const int dlugoscCiagu = 1000;

    map <char, string> alfabetMorsa;

    alfabetMorsa['A']=".-/";
    alfabetMorsa['a']=".-/";
    alfabetMorsa['B']="-.../";
    alfabetMorsa['b']="-.../";
    alfabetMorsa['C']="-.-./";
    alfabetMorsa['c']="-.-/";
    alfabetMorsa['D']="-../";
    alfabetMorsa['d']="-../";
    alfabetMorsa['E']="./";
    alfabetMorsa['e']="./";
    alfabetMorsa['F']=".-../";
    alfabetMorsa['f']=".-../";
    alfabetMorsa['G']="--./";
    alfabetMorsa['g']="--./";
    alfabetMorsa['H']="..../";
    alfabetMorsa['h']="..../";
    alfabetMorsa['I']="../";
    alfabetMorsa['i']="../";
    alfabetMorsa['J']=".---/";
    alfabetMorsa['j']=".---/";
    alfabetMorsa['K']="-.-/";
    alfabetMorsa['k']="-.-/";
    alfabetMorsa['L']="..-./";
    alfabetMorsa['l']="..-./";
    alfabetMorsa['M']="--/";
    alfabetMorsa['m']="--/";
    alfabetMorsa['N']="-./";
    alfabetMorsa['n']="-./";
    alfabetMorsa['O']="---/";
    alfabetMorsa['o']="---/";
    alfabetMorsa['P']=".--./";
    alfabetMorsa['p']=".--./";
    alfabetMorsa['Q']="--.-/";
    alfabetMorsa['q']="--.-/";
    alfabetMorsa['R']=".-./";
    alfabetMorsa['r']=".-./";
    alfabetMorsa['S']=".../";
    alfabetMorsa['s']=".../";
    alfabetMorsa['T']="-/";
    alfabetMorsa['t']="-/";
    alfabetMorsa['U']="..-/";
    alfabetMorsa['u']="..-/";
    alfabetMorsa['V']="...-/";
    alfabetMorsa['v']="...-/";
    alfabetMorsa['W']=".--/";
    alfabetMorsa['w']=".--/";
    alfabetMorsa['X']="-..-/";
    alfabetMorsa['x']="-..-/";
    alfabetMorsa['Y']="-.--/";
    alfabetMorsa['y']="-.--/";
    alfabetMorsa['Z']="--../";
    alfabetMorsa['z']="--../";
    alfabetMorsa[' ']="/";

    for (int i = 0; i < liczbaWierszy; i++) {
        getline(cin, napisDoZaszyfrowania);
        for (int j = 0; (j < napisDoZaszyfrowania.length()) && (j <= dlugoscCiagu); j++)  {
            map <char, string> :: iterator itr = alfabetMorsa.find(napisDoZaszyfrowania[j]);

            if (itr!= alfabetMorsa.end()) {
                cout << itr->second;
            }

        }
        cout << "\n";
    }
    return 0;

}

 

komentarz 21 sierpnia 2020 przez tkz Nałogowiec (42,040 p.)
#include <iostream>
#include <map>
#include <string>
 
using namespace std;
 
 
int main() {
    string napisDoZaszyfrowania;
 

     const int dlugoscCiagu = 1000;
 
    map <char, string> alfabetMorsa;
 
    alfabetMorsa['A']=".-/";
    alfabetMorsa['a']=".-/";
    alfabetMorsa['B']="-.../";
    alfabetMorsa['b']="-.../";
    alfabetMorsa['C']="-.-./";
    alfabetMorsa['c']="-.-/";
    alfabetMorsa['D']="-../";
    alfabetMorsa['d']="-../";
    alfabetMorsa['E']="./";
    alfabetMorsa['e']="./";
    alfabetMorsa['F']=".-../";
    alfabetMorsa['f']=".-../";
    alfabetMorsa['G']="--./";
    alfabetMorsa['g']="--./";
    alfabetMorsa['H']="..../";
    alfabetMorsa['h']="..../";
    alfabetMorsa['I']="../";
    alfabetMorsa['i']="../";
    alfabetMorsa['J']=".---/";
    alfabetMorsa['j']=".---/";
    alfabetMorsa['K']="-.-/";
    alfabetMorsa['k']="-.-/";
    alfabetMorsa['L']="..-./";
    alfabetMorsa['l']="..-./";
    alfabetMorsa['M']="--/";
    alfabetMorsa['m']="--/";
    alfabetMorsa['N']="-./";
    alfabetMorsa['n']="-./";
    alfabetMorsa['O']="---/";
    alfabetMorsa['o']="---/";
    alfabetMorsa['P']=".--./";
    alfabetMorsa['p']=".--./";
    alfabetMorsa['Q']="--.-/";
    alfabetMorsa['q']="--.-/";
    alfabetMorsa['R']=".-./";
    alfabetMorsa['r']=".-./";
    alfabetMorsa['S']=".../";
    alfabetMorsa['s']=".../";
    alfabetMorsa['T']="-/";
    alfabetMorsa['t']="-/";
    alfabetMorsa['U']="..-/";
    alfabetMorsa['u']="..-/";
    alfabetMorsa['V']="...-/";
    alfabetMorsa['v']="...-/";
    alfabetMorsa['W']=".--/";
    alfabetMorsa['w']=".--/";
    alfabetMorsa['X']="-..-/";
    alfabetMorsa['x']="-..-/";
    alfabetMorsa['Y']="-.--/";
    alfabetMorsa['y']="-.--/";
    alfabetMorsa['Z']="--../";
    alfabetMorsa['z']="--../";
    alfabetMorsa[' ']="/";
 
    do
    {
        getline(cin, napisDoZaszyfrowania);
        for (int j = 0; (j < napisDoZaszyfrowania.length()) && (j <= dlugoscCiagu); j++)  {
            map <char, string> :: iterator itr = alfabetMorsa.find(napisDoZaszyfrowania[j]);
 
            if (itr!= alfabetMorsa.end()) {
                cout << itr->second;
            }
        }
        cout << "\n";
    }while(napisDoZaszyfrowania.size()!=0);
    return 0;
 
}

 

komentarz 22 sierpnia 2020 przez magda_19 Gaduła (3,080 p.)
Poprawiłam kod, ale nadal nie działa. Jesteś pewien, że pętla do ... while jest właściwa?
komentarz 22 sierpnia 2020 przez tkz Nałogowiec (42,040 p.)
Nie. Nie mam spoja by sprawdzać swoje rozwiązania, więc wszystko to moje strzały, które wpasowują mi się w opis.
komentarz 22 sierpnia 2020 przez magda_19 Gaduła (3,080 p.)
Spoko, i tak dużo mi pomogłeś.
komentarz 22 sierpnia 2020 przez tkz Nałogowiec (42,040 p.)
Masz błędy w mapie. Spójrz na 'C' i 'c'.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
2 odpowiedzi 5,121 wizyt
pytanie zadane 9 października 2018 w C i C++ przez lucelka Początkujący (260 p.)
0 głosów
2 odpowiedzi 14,574 wizyt
0 głosów
1 odpowiedź 443 wizyt
pytanie zadane 10 kwietnia 2021 w SPOJ przez AizoOz Początkujący (490 p.)

93,754 zapytań

142,715 odpowiedzi

323,363 komentarzy

63,350 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...