/* Ylopoihsh insertion sort *//* Diavazei arithmous kai apo arxeio *//* kai apo to plhktrologio *//* Sto arxeio prepei na einai se mia *//* grammi to plithos twn arithmwn *//* gia sortarisma kai sthn epomenh oi *//* arithmoi *//* Spyros A. Hadjichristodoulou *//* 03104617, 7o Eksamino */#include <stdio.h>#include <stdlib.h>int * insertionSort(int arrayData[], int arraySize) { int a, b, temp; for (a = 1; a < arraySize; a++) { // ekswteriko for loop gia ola ta stoixeia b = a; while ((arrayData[b] < arrayData[b-1]) && (b >0)) { //while loop gia swaps temp = arrayData[b-1]; // ektelesi swap arrayData[b-1] = arrayData[b]; arrayData[b] = temp; b--; } } return arrayData;}int main(int argv, char **argc){ char ch; int size; int i; FILE *finsert; if (argv == 2) { // an dwsoume kai orisma stin klisi tou programmatos diavazei ap'to arxeio finsert = fopen(argc[1], "r"); if (finsert == NULL) { printf("Can't read %s", argc[1]); return 1; } else { while (!feof(finsert)) { // diavasma apo arxeio kai ektypwsh sortarismenwn akolouthiwn mexri FEOF fscanf(finsert, "%d", &size); int array[size]; for (i = 0; i < size; i++) fscanf(finsert, "%d", &array[i]); int *array2 = insertionSort(array, size); for (i = 0; i < size; i++) printf("%d", array[i]); printf("\n"); } } } else { // diavasma apo pliktrologio kai ektypwsh sortarismenis akolouthias printf("Parakalw eisagete plithos arithmwn pou tha sortaristoun\n"); scanf("%d", &size); int array[size]; printf("Parakalw eisagete tous %d arithmous\n", size); for (i = 0; i < size; i++ ) scanf("%d", &array[i]); int *array2 = insertionSort(array, size); for (i = 0; i < size; i++) printf("%d ", array[i]); }}