Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 18
1

Сортировка слиянием массива из вещественных псевдослучайных чисел

14.02.2016, 20:29. Показов 673. Ответов 1

Подскажите, пожалуйста, почему при запуске такой программы (она сортирует слиянием массив из вещественных псевдослучайных чисел)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#define n 10
void merge(double *a[n], double l, double m ,double r)
{
    int i, j, k;
    double *temp[n];
    i = l;
    k = m + 1;
    j = 0;
    while (l<m && k<r)
    {
        for (;; i++)
        {
            if (a[i]<a[k])
            {
                temp[j++] = a[i++];
            }
            else
            {
                temp[j++] = a[k++];
            }
        }
        while (i<m)
        {
            temp[j++] = a[i++];
        }
        while (k<r)
        {
            temp[j++] = a[k++];
        }
        for (j=0;j<n;j++)
        {
            a[i] = temp[j];
        }
    }
}
void mergesort(double *a[n], double l, double r)
{
    double m;
    m = (l + r) / 2;
    if (l < r)
    {
        mergesort(a, l, m);
        mergesort(a, m + 1, r);
        merge(a, l, m, r);
    }
}
void main()
{
    double a[n], b[n], r, l;
    double* ip;
    ip=&a[n];
    int i;
    srand((double)time(NULL));
    for (i=0;i<n;i++)
    {
        a[i] = (double)rand()/RAND_MAX+(double)rand();
        b[i] = a[i];
    }
    mergesort(ip,  0, n-1);
    for (i=0;i<n;i++)
    {
        printf("%lf \t \t\ \t %lf \n",b[i],a[i]);
    }
    getch();
}
появляется ошибка
Вызвано исключение по адресу 0x00E71B64 в сортировка слиянием.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x008BE94C.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2016, 20:29
Ответы с готовыми решениями:

Сортировка массива вещественных чисел
помогите пожалуйста, надо: Создать программу, сортирующую массив вещественных чисел по...

Сортировка вещественных чисел qsort
Доброго всем дня! Помогите, не могу понять, почему неверная сортировка получается? #include...

Сортировка слиянием: выводит нули вместо отсортированного массива чисел
Ребят. Добрый вечер. Попытался написать код сортировки на основе этого псевдокода. Не дописал...

Сортировка по возрастанию (убыванию) массива из N вещественных чисел
Описать программу SortInc (A,N) (SortDec (A,N)), выполняющую сортировку по возрастанию...

1
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
16.02.2016, 23:18 2
54 строка. последний элемент в массиве а -- девятый.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2016, 23:18

Сортировка линейного массива вещественных чисел методом выбора
Написать программу сортировки линейного массива вещественных чисел методом выбора.Элементы...

Сортировка массива слиянием
Здравствуйте, помогите написать программу которая сортирует одномерный массив слиянием. Заранее...

Сортировка пар чисел слиянием Java SE
Задача. С помощью сортировки слиянием отсортировать пары чисел по возрастанию. Пример : Входные...

Сортировка слиянием одномерного массива
Windows Form Application


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru