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: