Сортировка массива вещественных чисел - C (СИ)

Узнай цену своей работы

Формулировка задачи:

помогите пожалуйста, надо: Создать программу, сортирующую массив вещественных чисел по возрастанию. Число элементов массива вводится пользователем перед вводом значений элементов массива (использовать функции динамического выделения памяти). Для работы с элементами массива использовать указатели (адресную арифметику). моя попытка:
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
 
int main() { 
    double *a, *pa; 
    int n; 
    printf("n? "); 
    scanf("%d", &n); 
    a = (double *)malloc(n * sizeof(a[0])); 
    srand(time(NULL)); 
    printf("array:"); 
    scanf("%lf", *pa); 
    for (pa = a; pa < a + n; ++pa) printf(" %.1f", *pa = rand() % 100); 
           for (pa = a; pa < a + n - 1; ++pa)
           { 
        double *pm = pa, *pc = pa + 1; 
        for (; pc < a + n; ++pc) if (*pc < *pm) pm = pc; 
        if (pa != pm) 
        { 
            int tmp = *pa; 
            *pa = *pm; 
            *pm = tmp; 
            } 
            } 
  
    printf("\nsorted array: "); 
    for (pa = a; pa < a + n; ++pa) printf(" %.1f", *pa); 
free(a); 
return 0;
  }

Решение задачи: «Сортировка массива вещественных чисел»

textual
Листинг программы
if ( ! ( a = malloc(n * sizeof(double)) ) ) { /* сообщить об ошибке, завершить программу */ }

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

  1. Сначала выполняется проверка на успешное выделение памяти под массив a с помощью функции malloc. Если выделение памяти не удалось, то программа завершается и выводится сообщение об ошибке.
  2. Затем, после успешного выделения памяти, в массиве a инициализируются все элементы нулевым значением типа double.
  3. Далее, в цикле for выполняется сортировка массива a методом сортировка пузырьком.
  4. Внутри цикла, для каждого элемента массива a выполняется сравнение со следующим элементом и, в зависимости от результата сравнения, происходит обмен значениями элементов.
  5. После завершения цикла, в массиве a остается отсортированный массив вещественных чисел.
  6. В конце программы, выводится отсортированный массив a на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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