Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int duplicavettore(char *, char *, int);
- int palindro(char *);
- int checkcorr(char *, char *);
- int main(int argc, char** argv){
- char ARG1[32], ARG2[32], ARG3[32];
- puts("Inserire tre stringhe");
- scanf("%s%s%s", ARG1, ARG2, ARG3);
- if((checkcorr(ARG1, ARG2)==1) && (palindro(ARG3)==0))
- puts(ARG3);
- else if(palindro(ARG3)==1)
- puts("palindro");
- else
- puts(ARG1);
- return 0;
- }
- int duplicavettore(char *a, char *b, int n){
- if(n<0)
- return 0;
- for(int i=0;i<n;i++)
- b[i]=a[n-i-1];
- return 1;
- }
- int palindro(char *s){
- int len=strlen(s);
- int n=len/2;
- char bak[n+1];
- if (duplicavettore(s, bak, n)==0){
- fprintf(stderr, "Duplicazione fallita\n");
- exit(0);
- }
- bak[n]='\0';
- if(strcmp(s+n+len%2, bak)==0)
- return 1;
- return 0;
- }
- int checkcorr(char * a, char * b){
- char c[strlen(a)+strlen(b)+1];
- sprintf(c, "%s%s", a, b);
- return palindro(c);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement