Ein Lösungsvorschlag zur Aufgabe Array-Sort.
#include<stdio.h> #include<stdlib.h> #include<time.h> /* Sortieren eines int-Arrays @author: www.c-howto.de @param *x: Zeiger auf int-Array @param size: Groesse des Arrays */ void arraySort(int *x, int size) { int i, temp, minIndex; for(i=0; i<size-1; i++) { minIndex = arrayMinIndex(x, i, size); if(i != minIndex) { temp = x[i]; x[i] = x[minIndex]; x[minIndex] = temp; } } } /* Ermittle Index des Minimum-Wertes eines int-Arrays beginnend ab start bis zum Ende des Arrays @author: www.c-howto.de @param *x: Zeiger auf int-Array @param start: Startposition, ab der nach Minimum gesucht werden soll @param size: Groesse des Arrays */ int arrayMinIndex(int *x, int start, int size) { int minIndex=start, i; for(i=start; i<size; i++) { if(x[i] < x[minIndex]) { minIndex = i; } } return minIndex; } void fillArray(int *x,int rows, int cols) { srand(time(NULL)); int c=1, i, j; for(i=0; i<rows; i++) { for(j=0; j<cols; j++) { *(x+(i*cols)+j) = rand() % 20; c++; } } } void printArray(int *x, int rows, int cols) { int i, j; printf("\n\n"); for(i=0; i<rows; i++) { for(j=0; j<cols; j++) { printf(" %d",*(x+(i*cols)+j)); } printf("\n"); } } int main() { // Test int a[5]; fillArray(&a[0], 1, 5); printArray(&a[0], 1, 5); arraySort(&a[0], 5); printArray(&a[0], 1, 5); return 0; }