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

c++ alfabet morse'a

+1 głos
148 wizyt
pytanie zadane 9 października 2018 w C i C++ przez lucelka Początkujący (250 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 Szeryf (97,580 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 (630 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 Szeryf (97,580 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
2 odpowiedzi 1,939 wizyt
0 głosów
1 odpowiedź 102 wizyt
pytanie zadane 23 października 2018 w C i C++ przez web Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 100 wizyt
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

62,327 zapytań

108,464 odpowiedzi

226,431 komentarzy

35,188 pasjonatów

Przeglądających: 147
Pasjonatów: 4 Gości: 143

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...