Untitled
unknown
c_cpp
17 days ago
1.6 kB
2
Indexable
Never
#include <stdio.h> #include <string.h> #include <stdlib.h> char to_lower_custom(char c) { if (c >= 'A' && c <= 'Z') { return c + ('a' - 'A'); } return c; } int is_anum_or_letter(char c) { if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9')) { return 1; } return 0; } void normalizza_stringa(char* input) { int j = 0; int parola_iniziata = 0; //input " Ciao!!###@@ Come\nstai? \n BeNIssimo "; for (int i = 0; input[i] != '\0'; i++) { if (is_anum_or_letter(input[i]) == 1) { if (j > 0 && parola_iniziata == 1) { input[j] = ' '; j++; } input[j] = to_lower_custom(input[i]); j++; parola_iniziata = 0; } else { parola_iniziata = 1; } } input[j] = '\0'; } int confronta_stringhe(char str1[], char str2[]) { char copia1[strlen(str1) + 1]; char copia2[strlen(str2) + 1]; strcpy(copia1, str1); strcpy(copia2, str2); normalizza_stringa(copia1); normalizza_stringa(copia2); if(strcmp(copia1, copia2) == 0) { return 1; } return 0; } int main() { char* stringa1 = "Ciao Come stai\n\nBeNIssimo"; char* stringa2 = "\nCiao\nCome stai Benissimo"; if (confronta_stringhe(stringa1, stringa2) == 1) { printf("Le stringhe contengono le stesse parole\n"); } else { printf("Le stringhe NON contengono le stesse parole\n"); } return 0; }
Leave a Comment