Aiuto per esercizio

di il
3 risposte

Aiuto per esercizio

Ciao ragazzi...qualcuno mi può spiegare come il programma scritto di seguito elimini le doppie dalla parola inserita?
Per intenderci se scrivo cammello devo ottenere camelo. Inoltre il programma sostituisce anche ch con K (ma questo passaggio ho capito come lo fa). Grazie mille

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main()
{
int car, old_car, flag_k=0;

do{
car = getchar(); /* press ctrl-Z to finish */

if(flag_k==1){
if(car=='h'){
putchar('k');
flag_k=0;
}
else if(car!='c'){ /* in case of double 'c' do not print it and check again for 'h'*/
putchar('c');
putchar(car);
flag_k=0;
}

}
else{
if(car=='c')
flag_k=1;
else if(old_car!=car)
putchar(car);
}

old_car = car;

}while(car!=EOF);

return 0;
}

3 Risposte

  • Re: Aiuto per esercizio

    Lo fa qui

    if(old_car!=car)
    putchar(car);

    cosa non capisci?
  • Re: Aiuto per esercizio

    Scusa mi ero confuso con le parentesi graffe....ho capito ora perchè elimina la seconda lettere delle doppie....grazie lo stesso e scusa per il disturbo
  • Re: Aiuto per esercizio

    Nessun disturbo ... se hai tutto chiaro, meglio così
Devi accedere o registrarti per scrivere nel forum
3 risposte