#include #include #define MAXSTOG 20 int dodaj (char *stavka, char *stog, int n, int *vrh); int skini (char *stavka, char *stog, int *vrh); int premjesti (char *stog1, char *stog2, int n, int *vrh1, int *vrh2); int main() { char stog1[MAXSTOG]; char stog2[MAXSTOG]={'\0'}; int vrh1=0; int vrh2=-1; printf("Unesi string u stog1: "); fgets(stog1, sizeof(stog1), stdin); stog1[strlen(stog1)-1]='\0'; vrh1=strlen(stog1)-1; premjesti (stog1, stog2, MAXSTOG, &vrh1, &vrh2); printf("Prvi stog: %s\n", stog1); printf("Drugi stog: %s\n", stog2); getche(); return 0; } int premjesti (char *stog1, char *stog2, int n, int *vrh1, int *vrh2) { char stavka; while (*vrh1 > -1) { skini(&stavka, stog1, vrh1); dodaj(&stavka, stog2, MAXSTOG, vrh2); } } int skini (char *stavka, char *stog, int *vrh) { if (*vrh < 0) return 0; *stavka = stog[*vrh]; stog[*vrh]='\0'; (*vrh)--; return 1; } int dodaj (char *stavka, char *stog, int n, int *vrh) { if (*vrh > n-1) return 0; (*vrh)++; stog[*vrh] = *stavka; return 1; }