Итак, я сделал эту программу, используя только for
петли. Я просто пытался увидеть, что произойдет, если я использую for
вместо while
, но цикл работает только для сравнения одного отсортированного и несортированного элемента, а не отсортированных элементов до него.
#include <stdio.h>
void insertion(int arr[], int y) {
int h, z, temp, x;
for (z = 1; z <= y; z++) {
for (x = z - 1; x >= 0; x--) {
if (arr[x] >= arr[z]) {
temp = arr[z];
arr[z] = arr[x];
arr[x] = temp;
}
}
}
for (h = 0; h < y; h++) {
printf("\n %d", arr[h]);
}
}
void main() {
int arr[50];
int x;
printf("Enter the numbers of elemnts");
scanf("%d", &x);
printf("Enter the elements");
for (int z = 0; z < x; z++)
scanf("%d", &arr[z]);
insertion(arr, x);
}