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 <stdio.h>
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] != '' ; i++)
;
/* attacca stringa 1 e stringa 2 */
for (j=0 ; s2[j] != '' ; j++)
{
s1[i] = s2[j];
i++;
} s1[i++]= '';
/* controlla se stringa1+stringa2 = stringa3 */
for (k=0 ; k<i; k++)
{
if (s1[k]!=s3[k])
return 0;
} return 1;
}
Ricerca appunti sul web
Ricerca personalizzata
giovedì 26 febbraio 2009
Sorgenti c : Sciarada
Pubblicato da Baiox alle 15:24
Etichette: Informatica, Programmazione C
Iscriviti a:
Commenti sul post (Atom)
0 commenti:
Posta un commento