Сгенерировать числа в файле - C (СИ)
Формулировка задачи:
В программе сгенерировать n вещественных чисел, поместить их в список в порядке неубывания
Напишите пожалуйста программу на СИ
Решение задачи: «Сгенерировать числа в файле»
textual
Листинг программы
#include <stdio.h>
#include <time.h>
int main(void)
{
srand(time(0));
int n = 0, i = 0;
float *mas = malloc(sizeof(float)*n);
prntf("Type n: ");
scanf("%d", &n);
for(i=0; i<n; i++)
mas[i] = rand()%10000/100.0;
//Сортируем как хотим
for(i = 0 ; i < n - 1; i++)
{
// сравниваем два соседних элемента.
for(j = 0 ; j < n - i - 1 ; j++)
{
if(mas[i] > mas[j+1])
{
// если они идут в неправильном порядке, то
// меняем их местами.
int tmp = mas[j];
mas[j] = mas[j+1];
mas[j+1] = tmp;
}
}
}
//Осталось записать в файл
FILE *fIn = NULL;
fIn = fopen(fIn, "w");//Открываем файл
for(i = 0 ; i < n; i++)
fprintf(fIn, "%f ", mas[i]);
//Записали в файл
fclose(fIn);//Закрыли файл
free(mas);//Освобождаем память
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Инициализируем генератор случайных чисел
- Задаем начальные значения переменных
- Выделяем память под массив
- Запрашиваем у пользователя количество чисел для генерации
- Генерируем числа в диапазоне от 0 до 10000 и сохраняем их в массиве
- Сортируем массив по возрастанию
- Открываем файл для записи
- Записываем числа из массива в файл, разделяя их пробелами
- Закрываем файл
- Освобождаем память, выделенную под массив
- Завершаем программу