Sciarada - Charade

/* Scrivere una funzione che prese in input tre stringhe, A, B e C, stampi 1 se la stringa
C `e la sciarada delle stringhe A e B. In enigmistica, la sciarada
(http://it.wikipedia.org/wiki/Sciarada %28enigmistica%29) `e uno schema che consi-
ste nell’unire due o pi`u parole per formarne un’altra. Ad esempio la parola trambusto
`e la sciarada delle due parole tram e busto. */

#include

int sciarada(char *, char *, char *);
int main()
{
char stringa1[255];
char stringa2[255];
char stringa3[255];

scanf("%s", stringa1);
scanf("%s", stringa2);
scanf("%s", stringa3);
printf("%d", sciarada(stringa1, stringa2, stringa3));
return 0;
}

int sciarada(char *s1, char *s2, char *s3)
{
int i=0;
int j=0;
int k=0;

/* sposta il contatore sull'ultimo posto di s1*/
for (i=0 ; s1[i] != '\0' ; i++)
;
/* attacca stringa 1 e stringa 2 */
for (j=0 ; s2[j] != '\0' ; j++)
{
s1[i] = s2[j];
i++;
} s1[i++]= '\0';

/* controlla se stringa1+stringa2 = stringa3 */
for (k=0 ; k {
if (s1[k]!=s3[k])
return 0;
} return 1;

}

Commenti