#include <stdio.h> void swap(int* a, int* b) { int tmp = *a; *a = *b; *b = tmp; } void bubble_sort(int* array, int size) { int i, j; for (i = 0; i < size - 1; ++i) { for (j = 0; j < size - i; ++j) { if (array[j] > array[j + 1]) { swap(&array[j], &array[j + 1]); } } } } int main() { int array[100] = {10, 15, 5, 4, 21, 7}; bubble_sort(array, 6); int i for (i = 0; i < 6 ; ++i) { printf("%d ", array[i]); } printf("\n"); return 0; } C #include <stdio.h> void swap(int* a, int* b) { int tmp = *a; *a = *b; *b = tmp; } void bubble_sort(int* array, int size) { int i, j; for (i = 0; i < size - 1; ++i) { for (j = 0; j < size - i; ++j) { if (array[j] > array[j + 1]) { swap(&array[j], &array[j + 1]); } } } } int main() { int array[100] = {10, 15, 5, 4, 21, 7}; bubble_sort(array, 6); int i for (i = 0; i < 6 ; ++i) { printf("%d ", array[i]); } printf("\n"); return 0; }
The post was merged to previous Feb 28, 2024 хз пчел, всё воркает int i лучше в заголовке цикла пиши а не выноси его перед
Muha665161, во втором цикле если i будет равна 0, то получается мы сверяем arr[5] с arr[6] (которого нет). Выход за границы массива