Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- int rozmiar=0;
- void wyswietl(int *dane)
- {
- int *wsk=dane,i;
- for(i=0;i<rozmiar;i++)
- {
- printf(" %d ",*(wsk++));
- }
- }
- void push_back(int *dane,int liczba)//dodaj na koncu
- {
- rozmiar+=1;
- int *tmp=realloc(dane,rozmiar*sizeof(int));
- if(tmp==NULL)
- {
- printf("Blad alokacji pamieci");
- exit(0);
- }
- else
- {
- if(rozmiar>6)
- {
- printf("\nNie ma miejsca\n");
- exit(0);
- }
- else
- tmp[rozmiar-1]=liczba;
- dane=tmp;
- }
- }
- void push_front(int *dane,int liczba)
- {
- rozmiar+=1;
- int *tmp=realloc(dane,rozmiar*sizeof(int));
- if(tmp==NULL)
- {
- printf("Blad alokacji pamieci");
- exit(0);
- }
- else
- {
- dane=tmp;
- int i;
- for(i=0;i<rozmiar;i++)
- {
- dane[i]=dane[i+1];
- }
- dane[0]=liczba;
- }
- }
- void pop_back(int *dane)//usun z konca
- {
- if(dane==NULL)
- {
- printf("Nie ma co usuwac!!!");
- exit(0);
- }
- else
- {
- rozmiar-=1;
- realloc(dane,rozmiar*sizeof(int));
- }
- }
- void pop_front(int *dane)//usun z poczatku
- {
- if(dane==NULL)
- {
- printf("Nie ma czego usuwac!!!");
- exit(0);
- }
- else
- {
- int i;
- for(i=0;i<rozmiar;i++)
- {
- dane[i]=dane[i+1];
- }
- rozmiar-=1;
- realloc(dane,rozmiar*sizeof(int));
- }
- }
- void add(int *dane, int liczba, int index)//dodaj n-ty
- {
- rozmiar+=1;
- int *tmp=realloc(dane,rozmiar*sizeof(int));
- if(tmp==NULL)
- {
- printf("Blad alokacji pamieci");
- exit(0);
- }
- if(index>rozmiar && index<0)
- {
- printf("Nie ma takiego indeksu!!");
- exit(0);
- }
- else
- {
- if(rozmiar>6)
- {
- printf("\nNie ma miejsca!\n");
- exit(0);
- }
- else
- {
- int i;
- for(i=rozmiar-1;i>=index;i--)
- {
- tmp[i]=tmp[i-1];
- }
- tmp[index]=liczba;
- dane=tmp;
- }
- }
- }
- void remowe(int *dane,int index)//usun n-ty
- {
- if(dane==NULL)
- {
- printf("Nie ma co usuwac! ");
- exit(0);
- }
- else
- {
- int i;
- for(i=index;i<rozmiar-1;i++)
- {
- dane[i]=dane[i+1];
- }
- rozmiar-=1;
- realloc(dane,rozmiar*sizeof(int));
- }
- }
- int main(int argc, char *argv[]) {
- int *dane=(int*)malloc(rozmiar*sizeof(int));
- push_back(dane,3);
- printf("\nLiczby : \n");
- wyswietl(dane);
- push_back(dane,2);
- printf("\nLiczby : \n");
- wyswietl(dane);
- push_back(dane,7);
- printf("\nLiczby : \n");
- wyswietl(dane);
- push_back(dane,5);
- printf("\nLiczby : \n");
- wyswietl(dane);
- pop_front(dane);
- printf("\nLiczby : \n");
- wyswietl(dane);
- pop_back(dane);
- printf("\nLiczby : \n");
- wyswietl(dane);
- pop_back(dane);
- printf("\nLiczby : \n");
- wyswietl(dane);
- add(dane,89,1);
- printf("\nLiczby : \n");
- wyswietl(dane);
- add(dane,45,1);
- printf("\nLiczby : \n");
- wyswietl(dane);
- add(dane,41,0);
- printf("\nLiczby : \n");
- wyswietl(dane);
- free(dane);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement