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

1287

    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. Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli

      Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei
      Kauhava
      168
      6144
    2. Ootko rakastunut?

      Kerro pois nyt
      Ikävä
      147
      1714
    3. Onhan sulla nainen parempi mieli

      Nyt? Ainakin toivon niin.
      Ikävä
      113
      1508
    4. Ujosteletko tosissaan vai mitä oikeen

      Himmailet???? Mitä pelkäät?????
      Ikävä
      51
      1260
    5. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      46
      904
    6. Möykkähulluus vaati kuolonuhrin

      Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢
      Kauhava
      28
      844
    7. Älä mies pidä mua pettäjänä

      En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu
      Ikävä
      96
      827
    8. Reeniähororeeniä

      Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?
      Kouvola
      5
      779
    9. Kävit nainen näemmä mun

      Facessa katsomassa....
      Ikävä
      41
      729
    10. Tarvitsemme lisää maahanmuuttoa.

      Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan
      Maailman menoa
      219
      714
    Aihe