Выдает ошибку, хотя по сути ее вроде нет
подскажите, может тут есть все-таки какая-то ошибка? в этой части кода выдает, где начинается
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;
}
}
}
}