Сортировка Массива Вещественных Чисел

Тема в разделе "C/C++/C#", создана пользователем ShiroKuro, 23 май 2012.

  1. ShiroKuro

    ShiroKuro Гость

    помогите пожалуйста.нужно - создать программу, сортирующую массив вещественных чисел по возрастанию. Число элементов массива вводится пользователем перед вводом значений элементов массива (использовать функции динамического выделения памяти). Для работы с элементами массива использовать указатели (адресную арифметику).
    вот моя попытка:

    Код C
    Код (Text):
    #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;
    }
     
Загрузка...

Поделиться этой страницей