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.
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; }
Laaksonen! Se oli kouluun. Neuvoja olisi vain pitänyt antaa.
lainaus:
neuvot/valmiit ratkaisut on tervetulleita.
...huoh...
Nyt kyllä lipsahti pahasti laaksoselta :-/
No älkäähän nyt - kyllä valmiista ohjelmastakin oppii :) (jos vaan haluu). Enkä nyt usko, että tuo on mikään kirjaimellisesti tulkittava "asetus".
Aihe on jo aika vanha, joten et voi enää vastata siihen.