Mahdoton koulutehtävä... :'(

so sick n' tired

Okei...mun täytyy tehdä C - ohjelma, joka kääntää normaalin tekstin morsetukseksi,mutta en ole tähän mennessä onnistunut.Olen määritellyt vakiotaulukot const string morseCode[] = {".-",...,"--.."} morseaakkosille ja const char alphabets[] = {'a',...,'z'} ja tehnyt seuraavanlaisen kääntäjäfunktion:

string morseToAlphabet(string morse)
{
string translation = "";
for(int i = 0; i < morse.length(); i )
{
if(morse[i] == morseCode[0])
{
translation = alphabets[0];
}
else if(morse[i] == morseCode[1])
{
translation = alphabets[1];
}
//...
else if(morse[i] == morseCode[25])
{
translation = alphabets[25];
}
else if(morse[i] = ' ')
{
translation = "";
}
else
{
translation = "[error]";
}
}
return translation;
}

Tämä tietenkin herjaa siitä,kun morse[i]:tä(yksittäinen merkki)verrataan merkkijonoon eli morseCode[]:n alkioon ja kääntäminen ei siten onnistu,mutta sekin menee pieleen,jos määrittelee morseaakkoset yksittäisiksi merkeiksi(char),sitten se tulostaa ihan hölmöjä.Miten tämän sitten saa tehtyä,siinäpä kysymys?

Kiitos jo etukäteen neuvoista!:)

4

1283

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • mites tämä...

      sanot

      "Olen määritellyt vakiotaulukot const string morseCode[] = {".-",...,"--.."} morseaakkosille ja const char alphabets[] = {'a',...,'z'}"

      Mikä on tämä morse[i]?
      Yksittäinen merkki, mistä tullut?
      Mikä idea on verrata sitä morsekoodiin?

      • keksa

        ja c voit indeksoida stringiää tolleen

        string keksa = "keksa";

        char eka = keksa[0]; // eli merkki k

        Jos se string morse on vaikka "hello world", niin eihän sen ekaa merkkiä voi mihinkään morseCode-taulukon alkioon verrata, koska siellä oli ne morsemerkit ja ne on useita merkkejä putkessa ..--

        Lisäksi sulla on nyt 25 kertaa sama koodi tehtynä ja sen pitäis jo kertoa sulle, että pitää tehdä aliohjelma jota kutsua loopissa. Mitäs jos tulee 480 aakkosta lisää? Teet saman koodin about 500 kertaa lisää vai?

        string morseToAlphabet(string morse)
        {
           string translation = "";

           for(int i = 0; i < morse.length(); i )
           {
              translation = getMorseCodeForChar(morse.charAt(i)); // charAt() kait toimii c tai sitten[i]

           }
        return translation;
        }

        string getMorseCodeForChar(char merkki)
        {
        string paluuArvo="";

           for(int i = 0; i < alphabets.length(); i ) // en tiedä onko tuota .length() taulukolle c :ssa
           {
              if(merkki == alphabets[i]) //onko merkki joku aakkonen?
              {
                 paluuArvo = morseCode[i] ",";   //lisätään morsemerkki merkkijono
              }
              else if(merkki == ' ') paluuArvo = ",";
              

           }

           return paluuArvo;
        }


      • so sick n' tired
        keksa kirjoitti:

        ja c voit indeksoida stringiää tolleen

        string keksa = "keksa";

        char eka = keksa[0]; // eli merkki k

        Jos se string morse on vaikka "hello world", niin eihän sen ekaa merkkiä voi mihinkään morseCode-taulukon alkioon verrata, koska siellä oli ne morsemerkit ja ne on useita merkkejä putkessa ..--

        Lisäksi sulla on nyt 25 kertaa sama koodi tehtynä ja sen pitäis jo kertoa sulle, että pitää tehdä aliohjelma jota kutsua loopissa. Mitäs jos tulee 480 aakkosta lisää? Teet saman koodin about 500 kertaa lisää vai?

        string morseToAlphabet(string morse)
        {
           string translation = "";

           for(int i = 0; i < morse.length(); i )
           {
              translation = getMorseCodeForChar(morse.charAt(i)); // charAt() kait toimii c tai sitten[i]

           }
        return translation;
        }

        string getMorseCodeForChar(char merkki)
        {
        string paluuArvo="";

           for(int i = 0; i < alphabets.length(); i ) // en tiedä onko tuota .length() taulukolle c :ssa
           {
              if(merkki == alphabets[i]) //onko merkki joku aakkonen?
              {
                 paluuArvo = morseCode[i] ",";   //lisätään morsemerkki merkkijono
              }
              else if(merkki == ' ') paluuArvo = ",";
              

           }

           return paluuArvo;
        }

        "Lisäksi sulla on nyt 25 kertaa sama koodi tehtynä ja sen pitäis jo kertoa sulle, että pitää tehdä aliohjelma jota kutsua loopissa. Mitäs jos tulee 480 aakkosta lisää? Teet saman koodin about 500 kertaa lisää vai?"

        Onhan se tyhmää tehdä oma koodi joka aakkoselle(niitähän vois olla vaikka 500,mutta en mä sitten tietenkään olis tehnyt mitään noin tyhmää).Oon ohjelmoinu vasta vähän aikaa ja olin vähän epätoivoinen tämän tehtävän kanssa,kun ei olla käyty vielä stringien kaikkia hienouksia läpi ja maikka käski kattoa omatoimisesti yheltä enkunkieliseltä sivustolta vinkkejä tähän meidän etätehtävään...:-D Mut kiitti,tota täytyy kokeilla! :-)


      • keksa
        so sick n' tired kirjoitti:

        "Lisäksi sulla on nyt 25 kertaa sama koodi tehtynä ja sen pitäis jo kertoa sulle, että pitää tehdä aliohjelma jota kutsua loopissa. Mitäs jos tulee 480 aakkosta lisää? Teet saman koodin about 500 kertaa lisää vai?"

        Onhan se tyhmää tehdä oma koodi joka aakkoselle(niitähän vois olla vaikka 500,mutta en mä sitten tietenkään olis tehnyt mitään noin tyhmää).Oon ohjelmoinu vasta vähän aikaa ja olin vähän epätoivoinen tämän tehtävän kanssa,kun ei olla käyty vielä stringien kaikkia hienouksia läpi ja maikka käski kattoa omatoimisesti yheltä enkunkieliseltä sivustolta vinkkejä tähän meidän etätehtävään...:-D Mut kiitti,tota täytyy kokeilla! :-)

        kun itse aloittelin koodaamista, niin piti koodata annetun luvun kertoma.

        Aloin tekemään ohjelmaa ja tein aina uuden metodin, kun joku halusi syöttää uuden luvun ohjelmaan.

        int annettu_luku


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

      En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
      Ikävä
      22
      5344
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      25
      4518
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      28
      2631
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2294
    5. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2048
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      15
      1978
    7. En ole koskaan kokenut

      Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka
      Ikävä
      19
      1627
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      12
      1561
    9. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      21
      1317
    10. Kerranki asiat oikein

      Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa
      Haapavesi
      10
      1224
    Aihe