Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int rozmiar;
- int glowa;
- int ogon;
- void wyswietl(int *liczba)
- {
- int i,indeks;
- for(i=0;i<rozmiar;i++)
- {
- indeks=glowa+i;
- if (glowa+i>=5) indeks=glowa+i-5;
- printf("%i ",liczba[i]);
- }
- }
- void push(int *dane,int liczba)
- {
- rozmiar=rozmiar+1;
- realloc(dane,rozmiar*sizeof(int));
- if(dane==NULL)
- {
- printf("Blad alokacji pamieci!");
- exit(0);
- }
- else
- { ogon=(ogon+1)%rozmiar;
- dane[ogon]=liczba;
- }
- }
- void pop(int *dane)
- {
- int i;
- if(dane==NULL)
- {
- printf("Blad alokacji pamieci!");
- exit(0);
- }
- else
- {
- for(i=0;i<=rozmiar-1;i++)
- {
- dane[i]=dane[i+1];
- }
- rozmiar-=1;
- realloc(dane,rozmiar*sizeof(int));
- glowa=(glowa+1)%rozmiar;
- }
- }
- int main()
- {
- int *dane;
- dane = (int*)malloc(rozmiar*sizeof(int));
- rozmiar=0;
- glowa=0;
- ogon=0;
- push(dane,5);
- printf("\nLiczby w stosie: \n");
- wyswietl(dane);
- push(dane,6);
- printf("\nLiczby w stosie: \n");
- wyswietl(dane);
- push(dane,1);
- printf("\nLiczby w stosie: \n");
- wyswietl(dane);
- push(dane,7);
- printf("\nLiczby w stosie: \n");
- wyswietl(dane);
- pop(dane);
- printf("\nLiczby w stosie: \n");
- wyswietl(dane);
- pop(dane);
- printf("\nLiczby w stosie: \n");
- wyswietl(dane);
- free(dane);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement