Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
XChr
0 / 0 / 1
Регистрация: 13.11.2013
Сообщений: 84
Завершенные тесты: 1
#1

Сортировка массива указателей - C (СИ)

26.05.2015, 20:45. Просмотров 676. Ответов 0
Метки нет (Все метки)

Задание:

Написать функцию SortIndex(A, N), формирующую для вещественного массива A размера N массив указателей на элементы массива A в том порядке, который соответствует возрастанию элементов массива A (сам массив A при этом не изменяется). Массив указателей является выходным параметром. С помощью этой функции создать массивы указателей для массивов A, B, C размера NA, NB, NC соответственно.

Правильно ли я понял, что нужно написать функцию, в которой бы создавался массив указателей на элементы из исходного, а потом этот массив (созданный в функции) сортировался? Если да, то вот "наброски" кода:

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
#include <stdio.h>
#include <stdlib.h>
//SortIndex(float A,int N);
 
void SortIndex(double *A,int N)
{
    double* cpy[N];
    int i;
    for (i=0;i<N;i++)
        cpy[i]=(A+i);
        for (i=0;i<N;i++) printf ("%lg",cpy[i]);
   // return *cpy;
}
 
int main()
{   int i,N;
    printf ("\n Enter N: ");
    scanf ("%d",&N);
    double A[N];//,B[N],C[N];
    for (i=0;i<N;i++)
    {
        printf ("\n[%d]=",i);
        scanf ("%lg",&A[i]);
    }
     for (i=0;i<N;i++)
    {
        printf ("\n[%d]=%f",i,A[i]);
 
    }
    SortIndex(A,N);
 
    return 0;
}
Вопрос такой, почему при печати
C
1
 for (i=0;i<N;i++) printf ("%lg",cpy[i]);
выводит чёрт пойми что?

Добавлено через 5 часов 20 минут
C
1
for (i=0;i<N;i++) printf ("%lg",cpy[i]);
Заменил на
C
1
for (i=0;i<N;i++) printf ("%lg",*cpy[i]);
И всё стало хорошо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2015, 20:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сортировка массива указателей (C (СИ)):

Шейкер-сортировка с использованием указателей на правую и левую границы отсортированного массива
//Шейкер-сортировка с использованием указателей на правую и левую границы...

Сортировка чисел с помощью указателей
Как отсортировать числа с помощью указателей? Дайте пример пузырька или быстрой...

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

Сортировка фамилий по алфавиту через массив указателей
Здравствуйте! голову сломал, перекопал этот форум но все никак не получается...

Сортировка в массиве при помощи указателей и функций. Ошибки компиляции
Здравствуйте гениальный народ цифирь))) я начинающий программист) пытаюсь...

Возвращение массива указателей
Доброго времени суток. Что сделано не правильно? char **test(void){ char...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2015, 20:45
Привет! Вот еще темы с решениями:

Заполнение массива с помощью указателей
Добрый день! Можно ли задать массив с помощью указателя? int a; int i,j;...

Использование массива указателей на функции
Подскажите, пожалуйста, что я делаю не так. Это компилируется, но не выводит...

Ошибка в инициализации массива указателей на функции
Как правильно инициализировать массив указателей на функции? Компилятор...

Изменить индексацию массива с помощью указателей
Ввыручайте товарищи, на КР по Си задания: 1)Дан массив целых чисел a. Изменить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru