Advertisement
Mazamin

Esercizio Doppie

Dec 17th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.00 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #define MAX_LEN 32
  5. /* leggi le parole, se contengono doppie, rendile singole */
  6. void rimuovi_doppie(char *, int);
  7.  
  8. main(){
  9.     FILE * fi, * fo;
  10.     char string[MAX_LEN], filename[MAX_LEN];
  11.     puts("Gimme filename");
  12.     scanf("%s", filename);
  13.     ((fi=fopen(filename, "r"))!=NULL)?:(exit(1));
  14.     ((fo=fopen("output.txt", "w"))!=NULL)?:(exit(1));
  15.     while(!feof(fi)){
  16.         fscanf(fi, "%s", string);
  17.         if((isupper(string[0]))!=0){
  18.             rimuovi_doppie(string, strlen(string));
  19.             fprintf(fo, "%s\t", string);
  20.         }
  21.     }
  22.     fclose(fi);
  23.     fclose(fo);
  24.     return 0;
  25. }
  26.  
  27. void rimuovi_doppie(char * str, int size){
  28.     void shift_left_string(char *, int, int);
  29.     int i;
  30.     for(i=0;i<size;i++)
  31.         if(str[i]==str[i+1])
  32.             shift_left_string(str, i+1, size);
  33. }
  34.  
  35. void shift_left_string(char * str, int start, int size){
  36.     int i;
  37.     for(i=start;i<=size;i++)
  38.         str[i]=str[i+1];
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement