/* File: sortintf.c (Feld-Variante) -- zu Kap. 2.9.2. Beispiele
   Fkt.: Sortieren von n eingegebenen int-Werten */
#include <stdio.h>
#define MAX 100
main()
{	int ifeld[MAX];
	register int i, j, m;
	int temp, anz;
	/* Einlesen von maximal MAX int-Werten */
	fprintf(stderr, "Eingabe von n int-Werten (unsortiert) - bis EOF\n");
	for(m = 0; m < MAX; m++) {
		if((anz = scanf("%d", &ifeld[m])) == EOF)
			break;
		if(anz < 1) {
			fprintf(stderr, "Eingabeformat-Fehler\n");
			scanf("%*s");
			m--;
	}	}
	/* straight insertion sort */
	for(i = 0; i < m; i++) {
		for(j = i-1; j >= 0 && ifeld[j] > ifeld[j+1]; j--) {
			temp = ifeld[j+1];
			ifeld[j+1] = ifeld[j];
			ifeld[j] = temp;
	}	}
	/* Ausgabe der sortierten int-Werte */
	for(j = 0; j < m; j++) {
		printf(" %6d%c", ifeld[j], (j+1) % 8 ? ' ' : '\n');
	}
	putchar('\n');
}
