diff options
Diffstat (limited to '')
-rw-r--r-- | inf/rtkš/4.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/inf/rtkš/4.c b/inf/rtkš/4.c new file mode 100644 index 0000000..cff67ca --- /dev/null +++ b/inf/rtkš/4.c @@ -0,0 +1,33 @@ +#include <string.h> +#include <stdio.h> +#define MIN(a,b) ((a)>(b)?(b):(a)) +int palind (const char * c) { + int p = 0; + int l = strlen(c); + for (int i = 0; i < l; i++) { + if (c[i] == c[i+1]) { + printf("sodi\n"); + p++; + for (int j = 1; j <= MIN(i, l-i-2); j++) + if (c[i-j] == c[i+1+j]) { + printf("nadaljevanje\n"); + p++; + } + } + if (i && c[i-1] == c[i+1]) { + p++; + printf("lihi\n"); + for (int j = 2; j < MIN(i, l-i-1); j++) + if (c[i-j] == c[i+j]) { + printf("nadaljevanje\n"); + p++; + } + } + } + return p; +} +int main (int argc, char ** argv) { + if (argc != 1+1) + return 255; + return palind(argv[1]); +} |