#include #include #define SIZE 8 struct pizza{ int price; char name[100]; }; void insertSort(struct pizza array[SIZE]){ struct pizza temp; for(int i = 1; i < SIZE; i++){ if(array[i].price < array[i-1].price){ for(int j = i-1; j >= 0; j--){ if(array[i].price > array[j].price){ break; } else if(array[i].price == array[j].price){ if(strcmp(array[i].name, array[j].name) < 0){ temp = array[j]; array[j] = array[i]; array[i] = temp; i = j; } } else{ temp = array[j]; array[j] = array[i]; array[i] = temp; i = j; } } } } } int main(){ struct pizza array[SIZE]; array[0].price = 5; strcpy(array[0].name, "Cecko Pizza"); array[1].price = 1; strcpy(array[1].name, "Hacko Pizza"); array[2].price = 10; strcpy(array[2].name, "Acko Pizza"); array[3].price = 5; strcpy(array[3].name, "Acko Pizza"); array[4].price = 5; strcpy(array[4].name, "Becko Pizza"); array[5].price = 5; strcpy(array[5].name, "Aacko Pizza"); array[6].price = 8; strcpy(array[6].name, "Becko Pizza"); array[7].price = 0; strcpy(array[7].name, "Becko Pizza"); insertSort(array); for(int i = 0; i < SIZE; i++) printf("%d %s\n", array[i].price, array[i].name); return 0; }