Advertisement
lukicdarkoo

Pokazivaci, nizovi, datoteke...

Nov 16th, 2013
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.10 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX_SIZE 999
  4.  
  5. void bubbleSort(int (*a)[MAX_SIZE], int length) {
  6.     int i, j, t;
  7.     for (i = length - 1; i >= 0; i--) {
  8.         for (j = 1; j <= i; j++) {
  9.             if ((*a)[j-1] > (*a)[j]) {
  10.                 t = (*a)[j-1];
  11.                 (*a)[j-1] = (*a)[j];
  12.                 (*a)[j] = t;
  13.             }
  14.         }
  15.     }
  16. }
  17.  
  18. void swapSort(int (*a)[MAX_SIZE], int length) {
  19.     int i, j, t;
  20.     for (i = 1; i < length; i++) {
  21.         for (j = 0; j < i; j++) {
  22.             if ((*a)[i] > (*a)[j]) {
  23.                 t = (*a)[i];
  24.                 (*a)[i] = (*a)[j];
  25.                 (*a)[j] = t;
  26.             }
  27.         }
  28.     }
  29. }
  30.  
  31. void printArray(int a[MAX_SIZE], int length) {
  32.     int i;
  33.     for (i = 0; i < length; i++) {
  34.         printf("%i\n", a[i]);
  35.     }
  36. }
  37.  
  38. void reverseArray(int (*a)[MAX_SIZE], int length) {
  39.     int i, t;
  40.  
  41.     for (i = 0; i < length / 2; i++) {
  42.         t = (*a)[i];
  43.         (*a)[i] = (*a)[length - i - 1];
  44.         (*a)[length - i - 1] = t;
  45.     }
  46. }
  47.  
  48. void fPrintArray(int (*a)[MAX_SIZE], int length) {
  49.     FILE *fo;
  50.  
  51.     fo = fopen("pokazivaci.txt", "w");
  52.  
  53.     int i;
  54.     for (i = 0; i < length; i++) {
  55.         fprintf(fo, "%i\n", (*a)[i]);
  56.     }
  57.  
  58.     fclose(fo);
  59. }
  60.  
  61. void pointerArrayTest() {
  62.     const locSize = 98765;
  63.  
  64.     int *p;
  65.     p = malloc(sizeof(int) * locSize);
  66.  
  67.     long int i;
  68.     for (i = 0; i <= locSize; i++)
  69.         *(p + i) = i;
  70.  
  71.     printf("Posljednji clan: %i \n", *(p + i - 1));
  72.  
  73.     free(p);
  74. }
  75.  
  76. int main()
  77. {
  78.     int p[MAX_SIZE] = {25, 8, 1994, 1, 0};
  79.     int p_i = 5;
  80.  
  81.     printf("Niz: \n");
  82.     printArray(p, p_i);
  83.     fPrintArray(p, p_i);
  84.  
  85.     printf("\n\nRastuci (Bubble Sort): \n");
  86.     bubbleSort(&p, p_i);
  87.     printArray(p, p_i);
  88.  
  89.     printf("\n\nOpdajuci (Swap Sort): \n");
  90.     swapSort(&p, p_i);
  91.     printArray(p, p_i);
  92.  
  93.     printf("\n\nReverse: \n");
  94.     reverseArray(&p, p_i);
  95.     printArray(p, p_i);
  96.  
  97.     //dio sa predavanja, upotreba malloc() i free() funkcije
  98.     printf("\n\nTest: pokazivaci kao nizovi: \n");
  99.     pointerArrayTest();
  100.  
  101.     return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement