Untitled
/* Scrivere un sottoprogramma che riceve come parametri due stringhe, ciascuna contenente una serie di parole di lunghezza indefinita e separate da un numero qualsivoglia di caratteri separatori (spazi e a capo). Il sottoprogramma valuta se le due stringhe contengono la stessa sequenza di parole a prescindere dal numero di spazi e a capo che le separano e non distinguendo tra lettere minuscole e maiuscole. In caso affermativo il sottoprogramma restituisce 1 altrimenti 0. */ #include <stdio.h> #include <string.h> int confrontaStringhe(char str1[], char str2[]) { int j=0; for(int i=0; i<strlen(str1); i++) { if(str1[i] != ' ' && str1[i]!= '\n'){ if(str1[i] >= 'a' && str1[i] <= 'z'){ str1[j] = str1[i] - 32; }else{ str1[j] = str1[i]; } j++; } } str1[j] = '\0'; j=0; for(int i=0; i<strlen(str2); i++) { if(str2[i] != ' ' && str2[i]!= '\n'){ if(str2[i] >= 'a' && str2[i] <= 'z'){ str2[j] = str2[i] - 32; }else{ str2[j] = str2[i]; } j++; } } str2[j] = '\0'; if(strcmp(str1, str2) == 0){ return 1; } return 0; } int main(int argc, char *argv[]) { char str1[] = "Ciao Mondo"; // --> CIAOMONDO char str2[] = "ciao mondo"; //-->CIAOMONDO if(confrontaStringhe(str1, str2) == 1){ printf("Le stringhe sono identiche\n"); }else{ printf("Le stringhe sono diverse\n"); } return 0; }
Leave a Comment