Ritorna alla pagina del corso.
Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.
01: // 8. chieda due parole e verifichi se una e' anagramma dell'altra
02: // VERSIONE CON FUNZIONE strchr()
03:
04: #include<stdio.h>
05: #include<stdlib.h>
06: #include<string.h>
07:
08: int main(int argc, char **argv){
09: char s1[2000], s2[2000];
10:
11: printf("Inserisci due parole: ");
12: scanf("%s %s", s1, s2);
13:
14: if(strlen(s1) != strlen(s2))
15: {
16: printf("Le due parole hanno lunghezze differenti e quindi non sono una anagramma dell'altra\n");
17: return 1;
18: }
19:
20: for(int i = 0; i < strlen(s1); ++i) // scandisco tutti i caratteri della prima stringa
21: {
22:
23: char *P = strchr(s2, s1[i]);
24: if (p == NULL) // meglio scrivere if(!p)
25: {
26: printf("Le due parole NON sono anagramma una dell'altra\n");
27: return 1;
28: }
29: *p = '#';
30: }
31:
32: printf("Le due parole sono anagramma una dell'altra\n");
33:
34:
35:
36: return 0;
37: }
38:
39: