codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <stdio.h> #include <string.h> int count(const char *needle, const char *stack) { int n = 0; const char *p; if (*stack == 0) return 0; if (*needle == 0) return 0; p = strchr(stack, *needle); if (needle[1] == 0) n += !!p; if (p) { n += count(needle + 1, p + 1); n += count(needle, p + 1); } return n; } int main(void) { const char *needle, *stack; needle = "a"; stack = ""; printf("[%s] exists %d times in [%s]\n", needle, count(needle, stack), stack); needle = ""; stack = "a"; printf("[%s] exists %d times in [%s]\n", needle, count(needle, stack), stack); needle = "a"; stack = "abracadabra"; printf("[%s] exists %d times in [%s]\n", needle, count(needle, stack), stack); needle = "br"; stack = "abracadabra"; printf("[%s] exists %d times in [%s]\n", needle, count(needle, stack), stack); needle = "test"; stack = "ttest"; printf("[%s] exists %d times in [%s]\n", needle, count(needle, stack), stack); needle = "world"; stack = "w1o1r1l1d"; printf("[%s] exists %d times in [%s]\n", needle, count(needle, stack), stack); return 0; }
Private
[
?
]
Run code
Submit