C sharpilla kaikki merkkijonot

rekursiohankaluus

Miten tehdään rekursio, joka tulostaa kaikki annettua pituutta pienemmät merkkijonot, joiden merkit ovat a, b,...,z? Siis vaikkapa syötteellä 4 tulostus alkaa ja loppuu:

a
b
c
...
z
aa
ab
...
zz
aaa
aab
....
zzzy
zzzz

11

308

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • mitämeinasit

      Siis onko tarkoitus tehdä funktio, joka palauttaa merkkijonon, jos se täyttää em. ehdot?

      • rekursiohankaluus

        Haluaisin opetella tekemään funktion, joka tulostaisi merkkijonot siten, että se kävisi tietynpituiset merkkijonot lävitse ja kun kaikki on käyty, niin etsisi yhtä pidempiä merkkijonoja.


      • erotin
        rekursiohankaluus kirjoitti:

        Haluaisin opetella tekemään funktion, joka tulostaisi merkkijonot siten, että se kävisi tietynpituiset merkkijonot lävitse ja kun kaikki on käyty, niin etsisi yhtä pidempiä merkkijonoja.

        Eikös kaikki merkkijonot ole yhtä pidempiä? Millä tavalla olet erottanut merkkijonot toisistaan?


      • rekursiohankaluus

        Yritän tehdä Arraylistin avulla taulukkoon kunkin kirjaimen ja sitten generoida siitä merkkijonon. Haluaisin siis käydä läpi ensin kaikki yhden kirjaimen merkkijonot aakkosjärjestyksessä, sitten kahden merkin merkkijonot, sitten kolmen merkin merkkijonot jne.


      • esimerkkinä
        rekursiohankaluus kirjoitti:

        Yritän tehdä Arraylistin avulla taulukkoon kunkin kirjaimen ja sitten generoida siitä merkkijonon. Haluaisin siis käydä läpi ensin kaikki yhden kirjaimen merkkijonot aakkosjärjestyksessä, sitten kahden merkin merkkijonot, sitten kolmen merkin merkkijonot jne.

        Jos on merkkijonot "st1, esso, teboil, neste, abc", niin mitä pitäisi pukata stdoutiin?


      • rekursiohankaluus

        Siis mä ajattelin, että koska stringit on muuttumattomia, niin en voi tehdä asioita suoraan stringeillä. Siksi ajattelin käsitellä kirjaimia arraylistissä. Esimerkiksi voin alustaa kirjaimen:

        ArrayList myarray = new ArrayList();
        myarray.Add('a');

        ja vaihtaa:

        public static ArrayList change(ArrayList A, int i)
        {
        //Console.WriteLine(A[i]);
        if ((char) A[i]=='z') {
        A[i] = 'a';
        }
        else
        {
        char merkki = (char)A[i];
        A[i] = (char)((int)merkki 1);
        }
        return A;
        }

        Mutta tähän loppui taidot. Jos haluaisin vaikka merkkijonosta aaa merkkijonon aab, niin mulla olisi ensiksi listassa
        myarray[0]=a
        myarray[1]=a
        myarray[2]=a
        ja voisin kutsua myarray.change(myarray,2), jolloin arrayna olisi
        myarray[0]=a
        myarray[1]=a
        myarray[2]=b


      • logiikka
        rekursiohankaluus kirjoitti:

        Siis mä ajattelin, että koska stringit on muuttumattomia, niin en voi tehdä asioita suoraan stringeillä. Siksi ajattelin käsitellä kirjaimia arraylistissä. Esimerkiksi voin alustaa kirjaimen:

        ArrayList myarray = new ArrayList();
        myarray.Add('a');

        ja vaihtaa:

        public static ArrayList change(ArrayList A, int i)
        {
        //Console.WriteLine(A[i]);
        if ((char) A[i]=='z') {
        A[i] = 'a';
        }
        else
        {
        char merkki = (char)A[i];
        A[i] = (char)((int)merkki 1);
        }
        return A;
        }

        Mutta tähän loppui taidot. Jos haluaisin vaikka merkkijonosta aaa merkkijonon aab, niin mulla olisi ensiksi listassa
        myarray[0]=a
        myarray[1]=a
        myarray[2]=a
        ja voisin kutsua myarray.change(myarray,2), jolloin arrayna olisi
        myarray[0]=a
        myarray[1]=a
        myarray[2]=b

        Ei nyt ihan aukea mitä ajat takaa. Jos merkkijono on "st1" ja haluat merkkijonosta "abc", niin miten se tapahtuisi?


    • Turbo-Urpo1

      Tälläisen ( abc.c ) olen joskus haalinut verkosta muistiinpanoihin mukaan, Tämä käy kaikki merkkijonon varitaatiot läpi, ja nopeasti käykin.
      https://s25.postimg.cc/dhlvcuten/abc.c.png

      Kieli, ei ole C# vaan pelkkä C.

      • Turbo-Urpo1

        Tuo kuva on tästä LMDE 3 Cinnamon 64-bit työpöytäympäristöstä. Menee tosi kauan ennen kuin ikunan kehykset ja otsakepalkit, saa vaihdettua Win XP käyttämiin.


      • Turbo-Urpo1
        Turbo-Urpo1 kirjoitti:

        Tuo kuva on tästä LMDE 3 Cinnamon 64-bit työpöytäympäristöstä. Menee tosi kauan ennen kuin ikunan kehykset ja otsakepalkit, saa vaihdettua Win XP käyttämiin.

        Ja nyt lähti tuo LMDE 3 "Cindy" Cinnamon 64-bit tästä koneesta. Taikoo ihme jumeja sattuman varaisesti, vai virta-nappula auttaa. Paska mikä paska, ei toimi, eikä saa edes selvää mikä prosesi sen tekee, kun ei reakoi yhtään mihinkään, viittä vaille ettei tarvitse mennä iroittamaan sulake eteisessä olevasta sulaketaulusta.

        SE SIITÄ Cindystä


      • Turbo-Urpo1
        Turbo-Urpo1 kirjoitti:

        Tuo kuva on tästä LMDE 3 Cinnamon 64-bit työpöytäympäristöstä. Menee tosi kauan ennen kuin ikunan kehykset ja otsakepalkit, saa vaihdettua Win XP käyttämiin.

        Joo, meinashan tuo mennä muutenkin jo viihteen puolelle, kun alistin itseni kaikelle roskapostauksille. Mutta, mutta tekis mieli selvittää kuinka vähillä merkeillä Python tuosta samasta selviää. Ehkä tuo onnistuu myös Linux Shell komentoputkena, no katotaan nyt riittääkö intoa.


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

    Luetuimmat keskustelut

    1. Hyvää syntymäpäivää Sanna 40 vee!!!!

      ᕼᗩᑭᑭY ᗷIᖇTᕼᗞᗩY Sister ❣️🥰 🎉🎂✨🍰🥳 🥳🎂🥂 🎉🎊🎁🎈🎂
      Maailman menoa
      141
      5938
    2. Mikä on vaikeinta siinä, että menetti yhteyden kaivattuun, jota vielä ajattelee?

      Mikä jäi kaihertamaan? Jos jokin olisi voinut mennä toisin, mitä se olisi ollut? Mitä olisit toivonut vielä ehtiväsi san
      Ikävä
      427
      2908
    3. Kerro kaivattusi etunimi

      Miehille..
      Ikävä
      147
      2843
    4. Onhan tää tyhmää ajatella sua kun tuskin ees muistat mua

      Hyvää yötä sinne jonnekin. 💔
      Ikävä
      26
      2274
    5. Persut rahoittavat velkarahalla rikkaiden ökyelämää

      Minkä vuoksi persut eivät leikkaa rikkailta, joilla on maksukykyä? Tuskinpa tuo persujen käytös saa Suomen kansalta hyv
      Maailman menoa
      19
      2148
    6. Kerro kaivattusi etunimi

      Naisille
      Ikävä
      76
      1431
    7. Veronmaksajat kustantavat yrittäjien eläkkeitä jo yli 500 miljoonalla

      Suomalaista yrittäjää ei kommunistista erota. Aktiivisen "yrittämisen" maksattaa yritystukina yhteiskunnalla, ja vieläpä
      Yrittäjyys
      12
      1176
    8. Kun ei numeroa

      niin en edes voi viestittää, et suunnitelmiin tuli muutos. Ikävä on, ja kasvaa vaan🤍
      Ikävä
      10
      1102
    9. Mikä musta tekee

      Oikein haluttavan sun silmissä? Mä en ymmärrä. Parasta aika mennyt ko ohi 😃
      Ikävä
      53
      1020
    10. Millainen on

      Ihanne kumppani
      Ikävä
      87
      972
    Aihe