Aiuto per esercizio

di Anonimizzato12561 il
3 risposte
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

  • Lo fa qui

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

    cosa non capisci?
  • 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
  • Nessun disturbo ... se hai tutto chiaro, meglio così
Devi accedere o registrarti per scrivere nel forum
3 risposte