Advertisement
alvsjo

PetiCas (nizovi)

Oct 27th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "time.h"
  4.  
  5. void inc10(int *nPtr)
  6. {
  7.     *nPtr=*nPtr+10;
  8. }
  9.  
  10. int ascending(int a, int b)
  11. {
  12.     return a>b;
  13. }
  14.  
  15. int descending(int a, int b)
  16. {
  17.     return a<b;
  18. }
  19.  
  20. void swap_elements(int* a, int* b)
  21. {
  22.     int temp=*a;
  23.     *a=*b;
  24.     *b=temp;
  25. }
  26.  
  27. void sort(int* a,int n,int (*compare)(int,int))
  28. {
  29.     int i,j;
  30.     for(i=0;i<n-1;i++)
  31.     {
  32.         for(j=i+1;j<n;j++)
  33.         {
  34.             if((*compare)(a[i],a[j])  )
  35.             {
  36.                 swap_elements(&a[i],&a[j]);
  37.             }
  38.         }
  39.     }
  40. }
  41.  
  42. void popuniNiz( int * niz, int n)
  43. {
  44.  
  45.     int i;
  46.     for(i=0;i<n;i++)
  47.         niz[i]=rand()%100;
  48.  
  49. }
  50.  
  51.  
  52.  
  53.  
  54.  
  55. int main()
  56. {
  57.  
  58.     srand(time(0));
  59.  
  60.  
  61.  
  62.  
  63.  
  64.     int a=10;
  65.     int* aPtr;
  66.     aPtr=&a;
  67.  
  68.     printf("aPtr=%p\n  &a=%p\n",aPtr,&a);
  69.  
  70.     int b;
  71.     b=*aPtr;
  72.     printf("b=%d\n",b);
  73.  
  74.     printf("%p %p\n",*&aPtr,&*aPtr);
  75.     *aPtr=100;
  76.     printf("a=%d b=%d\n",a,b);
  77.  
  78.     int x=13;
  79.     inc10(&x);
  80.     printf("%d\n",x);
  81.  
  82.     int* tPtr=NULL;
  83.  
  84. /*
  85.     int *const xPtr1=&x;
  86.     xPtr1=&a; //mijenja vrijednost pokazivacu koji je konstanta
  87.     *xPtr1=50;
  88.  
  89.     const int* xPtr2=&x;
  90.     xPtr2=&a;
  91.     *xPtr2=80; //mijenja vrijednost konstantne promjenjive
  92.  
  93.     const int *const xPtr3=&x;
  94.     xPtr3=&a;
  95.     *xPtr3=70;
  96. */
  97.  
  98. void (*fPtr) (int*);
  99. fPtr=inc10;
  100.     (*fPtr)(&x);
  101.     printf("x=%d\n",x);
  102.  
  103.     int niz1[5]={23,45,3,65,11};
  104.     int* nPtr=&niz1[0];
  105.     printf("%p %p\n",nPtr,niz1);
  106.  
  107.     int i;
  108.     for(i=0;i<5;i++)
  109.     {
  110.         printf("%4d",nPtr[i]);
  111.     }
  112. printf("\n");
  113. printf("%p\n",nPtr+2);
  114.  
  115.  
  116.  
  117.  
  118.  
  119.     sort(niz1,5,ascending);
  120. for(i=0;i<5;i++)
  121.     {
  122.         printf("%4d",*(nPtr+i));
  123.     }
  124. printf("\n");
  125.  
  126. int n;
  127. scanf("%d",&n);
  128. int* niz2=malloc(n*sizeof(int)); //aloricanje memorije na heap-u
  129. popuniNiz(niz2,n);
  130.  
  131. for(i=0;i<n;i++)
  132.     {
  133.         printf("%4d",niz2[i]);
  134.     }
  135. printf("\n");
  136.  
  137. int r,c;
  138. scanf("%d",&r);
  139. scanf("%d",&c);
  140.  
  141. int** mat=malloc(r*sizeof(int*));
  142. for (i=0;i<r;i++)
  143. {
  144.     mat[i]=malloc(c*sizeof(int));
  145.  
  146.     popuniNiz(mat[i],c);
  147.  
  148. }
  149. int j;
  150. for (i=0;i<r;i++)
  151. {
  152.      for (j=0;j<c;j++)
  153.     {
  154.         printf("%4d",*(*(mat+i)+j));
  155.     }
  156.     printf("\n");
  157. }
  158.  
  159.     return 0;
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement