Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.c
- // P4 Aufgabe 1
- //
- // Created by Jörg Quick on 29.11.18.
- // Copyright © 2018 FH Darmstadt. All rights reserved.
- //
- // Array sortieren nach Bubble/Selection der Größe nach.
- // Prüfung durch lessEqualSorted.
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void showArray(int * pArray, int sizeOfArray);
- void bubbleSort(int *p, int size);
- void selectionSort(int *p, int size);
- void lessEqualSorted(int *p, int size);
- void valueArray(int arr[]);
- int main(int argc, const char * argv[])
- {
- srand(time(NULL));
- const int arraySize = 1000;
- int arr[arraySize];
- valueArray(arr);
- showArray(arr, arraySize);
- bubbleSort(arr, arraySize);
- printf("\n-------------------\n");
- printf("Unsortiertes Array.\n\n");
- showArray(arr, arraySize);
- printf("\n-----------------\n");
- printf("BubbleSort Array.\n\n");
- lessEqualSorted(arr, arraySize);
- showArray(arr, arraySize);
- selectionSort(arr, arraySize);
- printf("\n--------------------\n");
- printf("SelectionSort Array.\n\n");
- lessEqualSorted(arr, arraySize);
- }
- void bubbleSort(int *p, int size)
- {
- int swapped = 0;
- int temp;
- do
- {
- swapped = 0;
- for (int i = 0; i < size - 1; i++)
- {
- if (p[i] > p[i + 1])
- {
- temp = p[i];
- p[i] = p[i + 1];
- p[i + 1] = temp;
- swapped = 1;
- }
- }
- }
- while (swapped);
- }
- void selectionSort(int *p, int size)
- {
- int temp;
- int q;
- for (int i = 0; i < size - 1; i++)
- {
- q = i;
- for (int j = i+1; j < size; j++)
- {
- if (p[j] < p[q])
- {
- q = j;
- }
- }
- temp = p[i];
- p[i] = p[q];
- p[q] = temp;
- }
- }
- void lessEqualSorted(int *p, int size)
- {
- int wrong = 0;
- for (int i = 0; i < size-1; i++)
- {
- if (p[i] > p[i + 1])
- {
- wrong = 1;
- }
- }
- if (wrong == 1)
- {
- printf("Array is not lessEqualSorted!\n");
- }
- else
- printf("Das Array ist richtig sortiert!\n");
- printf("-------------------------------\n");
- }
- void showArray(int * pArray, int sizeOfArray)
- {
- for (int i = 0; i < sizeOfArray; i++)
- printf("%5d", pArray[i]);
- }
- void valueArray(int arr[])
- {
- for(int i = 0; i < 1000; i++)
- {
- arr[i] = rand() % 1000 + 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement