Заполить массив числами из диапазона
Заполнить целочисленный массив a[N] числами из диапазона [A; B] и массив b[N] дробными числами из диапазона [C; D]. Вывести массивы на экран в две строки. Вывести массивы в файл в два столбца в формате "array_int[индекс] = значение; array_double[индекс] = значение;"
В чём может быть проблема? Ни в консоль ни в файл ничего не выводиться, но если убрать строчки fprintf() и fclose(), то тогда хотя бы вывод в консоль работает корректно.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 25
#define A 1
#define B 100
#define C 101
#define D 200
int main(void) {
srand(time(0));
int a[N];
double b[N];
FILE *file;
file = fopen("output.txt", "w");
for (int i = 0; i < N;i++){
a[N] = A+rand()%(B-A+1);
printf("%d ", a[N]);
fprintf(file, "array_int[%d] = %d; ", i, a[N]);
}
printf("\n");
for (int i = 0; i < N;i++){
b[N] = C+rand()*(D-C+1.0)/RAND_MAX;
printf("%.3lf ", b[N]);
fprintf(file, "array_double[%d] = %.3lf\n", i, b[N]);
}
fclose(file);
return EXIT_SUCCESS;
}