Выдает ошибку, хотя по сути ее вроде нет

подскажите, может тут есть все-таки какая-то ошибка? в этой части кода выдает, где начинается

for (int i=0; i<n; i++) {
    Array[i] = rand() % 100 - 50;
    }
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 500
int main() {
    int Array[N];
    int n = 0;
    int tmp;
    srand(42);

    do {
        printf("Enter array size (1 to 500):\n");
        scanf("%d", &n);
    } while (n <= 0 || n > N);

    for (int i=0; i<n; i++) {
    Array[i] = rand() % 100 - 50;
    }


    for (int i = 0; i < n - 1; i++) { 
    for (int j = 0; j < n - i - 1; j++) { 
        if (Array[j] > Array[j + 1]) {
            tmp = Array[j];
            Array[j] = Array[j + 1];
            Array[j + 1] = tmp;
        }
    }
}

Ответы (1 шт):

Автор решения: u111

Правильный код

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 500
int main() {
    int Array[N];
    int n = 0;
    int tmp;
    srand(42);

    do {
        printf("Enter array size (1 to 500):\n");
        scanf("%d", &n);
    }
    while (n <= 0 || n > N);

    for (int i=0; i<n; i++) {
        Array[i] = rand() % 100 - 50;
    }


    for (int i = 0; i < n - 1; i++) { 
        for (int j = 0; j < n - i - 1; j++) { 
            if (Array[j] > Array[j + 1]) {
                tmp = Array[j];
                Array[j] = Array[j + 1];
                Array[j + 1] = tmp;
            }
        }
    }
}
→ Ссылка