codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
typedef struct pal_pos { char* str; int size; } palindrome; void is_pal(char* str, int i, int n, palindrome* p) { char* sstr = strndup(str + i, n - i); int sz = n - i; int pivot = sz / 2 + (sz % 2); int j; for (j = 0; j < pivot; j++) if (sstr[j] != sstr[sz - j - 1]) return; p->str = (char*)realloc(p->str, sz); p->str = sstr; p->size = sz; } int main(int argc, char** argv) { char* str; palindrome* p = (palindrome*) malloc(sizeof(palindrome)); int sz; if (argc <= 1) { printf("need one parameter"); return -1; } sz = strlen(argv[1]); str = (char*) malloc(sizeof(strlen(argv[1]))); str = strndup(argv[1], strlen(argv[1])); p->str = (char*) calloc(0, 1); p->size = 0; int n, i; for (n = 0; n < sz; n++) for (i = 0; n - i > p->size; i++) { is_pal(str, i, n, p); } fprintf(stdout, "The longuest palindrome is %s \n", p->str); free(p->str); free(p); return 0; }
Private
[
?
]
Run code
Submit