Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: c- kieli ohjelma

tommi82 [09.02.2004 20:56:45]

#

Elikkä, pitäs tehä kouluun harjotuksena c-kielellä ohjelma mikä laskee merkkijonosta erimerkkien esiintymiskerrat, ja yllättäen itellä ei oo hajuakaan kuinka tehdä moinen, itse koodin olen saanut siihen vaiheeseen että ohjelma kysyy käyttäjältä sanaa, mutta kuinka tästä eteenpäin..?
neuvot/valmiit ratkaisut on tervetulleita.

Antti Laaksonen [09.02.2004 21:12:44]

#

Tässä on yksi mahdollinen ratkaisu, jonka toiminta perustuu siihen tietoon, että merkkijono on oikeasti taulukko. Tutki ohjelma tarkkaan ja yritä opetella siinä olevat jutut, kun kerran tehtävä on kouluun. :)

#include <stdio.h>

int main(void) {
    char mjono[255], merkki;
    int merkit[255] = {0}, i;
    printf("Kirjoita merkkijono: ");
    //luetaan merkkijono taulukkoon
    gets(mjono);
    //alustetaan kohtalaskuri
    i = 0;
    //luetaan merkkejä nollatavuun asti
    while (merkki = mjono[i]) {
        //kasvatetaan merkkilaskuria
        merkit[merkki]++;
        //kasvatetaan kohtalaskuria
        i++;
    }
    //käydään läpi kaikki merkit
    for (i = 0; i < 256; i++) {
        //jos merkkejä on ainakin yksi...
        if (merkit[i] > 0) {
            //...tulostetaan niiden määrä
            printf("%c: %i kpl\n", i, merkit[i]);
        }
    }
    return 0;
}

remontti-reiska [09.02.2004 21:15:30]

#

Laaksonen! Se oli kouluun. Neuvoja olisi vain pitänyt antaa.

Nyntti [10.02.2004 00:02:34]

#

lainaus:

neuvot/valmiit ratkaisut on tervetulleita.

...huoh...

T.M. [10.02.2004 00:03:26]

#

Nyt kyllä lipsahti pahasti laaksoselta :-/

Gaxx [17.02.2004 17:40:43]

#

No älkäähän nyt - kyllä valmiista ohjelmastakin oppii :) (jos vaan haluu). Enkä nyt usko, että tuo on mikään kirjaimellisesti tulkittava "asetus".

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta