Сгенерировать числа в файле - 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;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы
  2. Инициализируем генератор случайных чисел
  3. Задаем начальные значения переменных
  4. Выделяем память под массив
  5. Запрашиваем у пользователя количество чисел для генерации
  6. Генерируем числа в диапазоне от 0 до 10000 и сохраняем их в массиве
  7. Сортируем массив по возрастанию
  8. Открываем файл для записи
  9. Записываем числа из массива в файл, разделяя их пробелами
  10. Закрываем файл
  11. Освобождаем память, выделенную под массив
  12. Завершаем программу

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы