/* * Hoofdstuk 2 - programma 2: 2-2.c * De invoer van een programma is een reeks karakters van * onbekende lengte die worden afgesloten door een $ teken. * We wensen het volgende resultaat: * Bijvoorbeeld: * * input: AABBBCAAACC$ * output: A2B3CA3C2 */ #include int main(void) { int c, hulp = 0, doorgangteller = 1, karakter_teller = 1; printf("Geef een reeks karakters in, sluit af met $ : "); do { c = getchar(); /* 1 karakter opnemen */ /* (getchar moet een integer zijn) */ if(doorgangteller > 1) /* bepalen of het het eerste karakter */ /* van de input betreft */ if(c == hulp) /* als dit karakter hetzelde is als het vorige */ karakter_teller++; /* wordt de teller verhoogd */ else /* is dit karakter niet hetzelfde */ /* als het vorige het karakter drukken */ { if(karakter_teller > 1)/* bij één of meer zelfde karakters na elkaar */ printf("%c%d", hulp, karakter_teller);/* ook het aantal afdrukken */ else printf("%c", hulp); /* anders alleen het karakter afdrukken */ karakter_teller = 1; } hulp = c; /* het karakter in hulp steken om het */ doorgangteller++; /* volgende ermee te kunnen vglen */ } while(c != '$'); /* $ is het eindeteken van de inputstring */ return 0; }