Advertisement
selkieautopsy13

LISTA

May 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.43 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  5. int rozmiar=0;
  6.  
  7. void wyswietl(int *dane)
  8. {
  9.     int *wsk=dane,i;
  10.     for(i=0;i<rozmiar;i++)
  11.     {
  12.         printf("%d ",*(wsk++));
  13.     }
  14. }
  15. void dodaj(int *dane,int liczba,int index)
  16. {
  17.     rozmiar+=1;
  18.     int *tmp=realloc(dane,rozmiar*sizeof(int));
  19.     if(index>rozmiar)
  20.     {
  21.         printf("\n NIe ma takiego indexu w tablicy! \n");
  22.         exit(0);
  23.     }
  24.    
  25.     if(tmp==NULL)
  26.     {
  27.         printf("\n Blad alokacji pamieci! \n");
  28.         exit(0);
  29.     }
  30.     else
  31.     {
  32.         dane=tmp;
  33.         dane[index]=liczba;
  34.     }
  35.    
  36. }
  37.  
  38. void usun(int *dane,int index)
  39. {
  40.  
  41.     if(index>rozmiar)
  42.     {
  43.         printf("\n NIe ma takiego indexu w tablicy! \n");
  44.         exit(0);
  45.     }
  46.  
  47.    
  48.         int i;
  49.     for(i=index;i<rozmiar;i++)
  50.     {
  51.         dane[i]=dane[i+1];
  52.     }
  53.         rozmiar-=1;
  54.         int *tmp=(dane,rozmiar*sizeof(int));
  55.                
  56.         if(tmp==NULL)
  57.     {
  58.         printf("\n Blad alokacji pamieci! \n");
  59.         exit(0);
  60.     }
  61.     else
  62.     {
  63.         dane=tmp;
  64.     }
  65.        
  66.    
  67. }
  68. int main(int argc, char *argv[]) {
  69.    
  70.     int* dane=(int*)malloc(rozmiar*sizeof(int));
  71.     dodaj(dane,1,0);
  72.     printf("\nLiczby w  liscie\n");
  73.     wyswietl(dane);
  74.     dodaj(dane,2,1);
  75.     printf("\nLiczby w  liscie\n");
  76.     wyswietl(dane);
  77.     dodaj(dane,3,2);
  78.     printf("\nLiczby w  liscie\n");
  79.     wyswietl(dane);
  80.     dodaj(dane,4,3);
  81.     printf("\nLiczby w  liscie\n");
  82.     wyswietl(dane);
  83.     usun(dane,1);
  84.     printf("\nLiczby w  liscie\n");
  85.     wyswietl(dane);
  86.     free(dane);
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement