• 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
84 wizyt
pytanie zadane 9 października w C i C++ przez lucelka Nowicjusz (230 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 przez j23 Maniak (74,360 p.)
wybrane 9 października 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 przez Dominik Kostencki Użytkownik (590 p.)
przywrócone 11 października 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 przez j23 Maniak (74,360 p.)
edycja 9 października 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 832 wizyt
0 głosów
1 odpowiedź 79 wizyt
pytanie zadane 23 października w C i C++ przez web Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 84 wizyt
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

56,372 zapytań

101,068 odpowiedzi

208,201 komentarzy

28,042 pasjonatów

Przeglądających: 364
Pasjonatów: 14 Gości: 350

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.

...