Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.53 KB | None | 0 0
  1. //
  2. //  main.c
  3. //  P4 Aufgabe 1
  4. //
  5. //  Created by Jörg Quick on 29.11.18.
  6. //  Copyright © 2018 FH Darmstadt. All rights reserved.
  7. //
  8.  
  9. // Array sortieren nach Bubble/Selection der Größe nach.
  10. // Prüfung durch lessEqualSorted.
  11.  
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14. #include <time.h>
  15.  
  16. void showArray(int * pArray, int sizeOfArray);
  17. void bubbleSort(int *p, int size);
  18. void selectionSort(int *p, int size);
  19. void lessEqualSorted(int *p, int size);
  20. void valueArray(int arr[]);
  21.  
  22. int main(int argc, const char * argv[])
  23. {
  24.     srand(time(NULL));
  25.     const int arraySize = 1000;
  26.     int arr[arraySize];
  27.     valueArray(arr);
  28.     showArray(arr, arraySize);
  29.     bubbleSort(arr, arraySize);
  30.     printf("\n-------------------\n");
  31.     printf("Unsortiertes Array.\n\n");
  32.     showArray(arr, arraySize);
  33.     printf("\n-----------------\n");
  34.     printf("BubbleSort Array.\n\n");
  35.     lessEqualSorted(arr, arraySize);
  36.     showArray(arr, arraySize);
  37.     selectionSort(arr, arraySize);
  38.     printf("\n--------------------\n");
  39.     printf("SelectionSort Array.\n\n");
  40.     lessEqualSorted(arr, arraySize);
  41.    
  42. }
  43.  
  44. void bubbleSort(int *p, int size)
  45. {
  46.     int swapped = 0;
  47.     int temp;
  48.    
  49.     do
  50.     {
  51.         swapped = 0;
  52.         for (int i = 0; i < size - 1; i++)
  53.         {
  54.             if (p[i] > p[i + 1])
  55.             {
  56.                 temp = p[i];
  57.                 p[i] = p[i + 1];
  58.                 p[i + 1] = temp;
  59.                
  60.                 swapped = 1;
  61.             }
  62.         }
  63.     }
  64.     while (swapped);
  65. }
  66.  
  67. void selectionSort(int *p, int size)
  68. {
  69.     int temp;
  70.     int q;
  71.    
  72.     for (int i = 0; i < size - 1; i++)
  73.     {
  74.         q = i;
  75.         for (int j = i+1; j < size; j++)
  76.         {
  77.             if (p[j] < p[q])
  78.             {
  79.                 q = j;
  80.             }
  81.         }
  82.         temp = p[i];
  83.         p[i] = p[q];
  84.         p[q] = temp;
  85.     }
  86. }
  87.  
  88. void lessEqualSorted(int *p, int size)
  89. {
  90.     int wrong = 0;
  91.    
  92.     for (int i = 0; i < size-1; i++)
  93.     {
  94.         if (p[i] > p[i + 1])
  95.         {
  96.             wrong = 1;
  97.         }
  98.     }
  99.     if (wrong == 1)
  100.     {
  101.         printf("Array is not lessEqualSorted!\n");
  102.     }
  103.     else
  104.         printf("Das Array ist richtig sortiert!\n");
  105.         printf("-------------------------------\n");
  106. }
  107.  
  108. void showArray(int * pArray, int sizeOfArray)
  109. {
  110.     for (int i = 0; i < sizeOfArray; i++)
  111.         printf("%5d", pArray[i]);
  112. }
  113.  
  114. void valueArray(int arr[])
  115. {
  116.     for(int i = 0; i < 1000; i++)
  117.     {
  118.         arr[i] = rand() % 1000 + 1;
  119.     }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement