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

c++ alfabet morse'a

VPS Starter Arubacloud
+1 głos
4,054 wizyt
pytanie zadane 9 października 2018 w C i C++ przez lucelka Początkujący (260 p.)

Cześć,

czy ktoś mógłby mi proszę pomóc poprawić ten kod ,w jak najłatwiejszy  sposób, tak aby działał poprawnie ?

powinien to być program tłumaczący słowa  języku polskim na alfabet morse'a ( dodatkową funkcją mogłoby być odwrotne tłumaczenie.

Z góry dziękuję :))

 

#include <iostream>
#include<string>
using namespace std;

main()
{
    string tekst;
    string wynik = "s";
    char alfabet [26] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
    string alfabet_morsea[26] ={".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." };




    cout << "podaj slowo ktore chcesz przetlumczyæ " << endl;
    cin >> tekst;

    for (int x=0; x<=tekst.length(); x++)
    {
        for (int y=0; y<=26; y++)
        {
            if ( tekst.at(x) == alfabet [y] )
            {
                wynik.push_back( alfabet [y]);
                wynik.push_back( '/');
            }
        }

    }

    cout << endl << wynik << endl << endl;




}


 

2 odpowiedzi

+1 głos
odpowiedź 9 października 2018 przez j23 Mędrzec (194,920 p.)
wybrane 9 października 2018 przez lucelka
 
Najlepsza
  • Linia 18: nie <= tylko <, to samo w linii 20.
  • Linia 22: to at jest tam zbędne, bo x, jeśli poprawisz warunek, nigdy nie przekroczy zakresu.
  • Linia 24: popraw na wynik.append( alfabet_morsea [y]);
–3 głosów
odpowiedź 9 października 2018 przez Dominik Kostencki Użytkownik (650 p.)
przywrócone 11 października 2018 przez Dominik Kostencki
Używasz funkcji push_back dla stringa,a powinieneś zrobić to dla vectora. Nie możesz również zapisać alfabet_morse w ten sposób, przydałaby sie tablica dwuwymiarowa ,następna kwestia to jeśli ktoś wprowadzi dane z klawiatury małymi literami  program nie zadziała poprawnie.
komentarz 9 października 2018 przez j23 Mędrzec (194,920 p.)
edycja 9 października 2018 przez j23

Żeś pojechał ;) std::string posiada metodę push_back, więc może jej użyć (choć może nie tu). Tablica alfabet_morsea jest jak najbardziej ok.

Podobne pytania

0 głosów
0 odpowiedzi 449 wizyt
pytanie zadane 21 sierpnia 2020 w SPOJ przez magda_19 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 13,351 wizyt
+1 głos
2 odpowiedzi 221 wizyt
pytanie zadane 29 czerwca 2022 w SQL, bazy danych przez AgentTecza Obywatel (1,810 p.)

92,453 zapytań

141,262 odpowiedzi

319,087 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!

...