Загрузка...

Помогите пж с помощью отладчика gdb найти ошибку в программе Си (не с помощью чат GPT)

Тема в разделе C/C++ создана пользователем denjo 27 фев 2024. 127 просмотров

Загрузка...
  1. denjo
    denjo Автор темы 27 фев 2024 Начинать всегда стоит с того, что сеет сомнения. 20 7 мар 2019
    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;
    }
     
  2. soulgoodman001
    в 24 строке пропущена ;
     
    1. denjo Автор темы
  3. русскиевперед
    [IMG]
    --- Сообщение объединено с предыдущим 28 фев 2024
    хз пчел, всё воркает int i лучше в заголовке цикла пиши а не выноси его перед
     
  4. Muha665161
    Muha665161 28 фев 2024 66 3 дек 2019
    единицу забыл вычесть во втором цикле for[IMG]
     
    1. Muha665161
      Muha665161, во втором цикле если i будет равна 0, то получается мы сверяем arr[5] с arr[6] (которого нет). Выход за границы массива
Top