Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
katena88
6 / 2 / 1
Регистрация: 25.10.2010
Сообщений: 86
#1

сортировка - C++

01.11.2010, 15:48. Просмотров 338. Ответов 3
Метки нет (Все метки)

Помогите отсортировать одномерный массив строк с созданием новой функции.
При этом массив заполнен не весь, а только первые несколько элементов...
(А то моя сортировка как на Паскале не работает)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2010, 15:48     сортировка
Посмотрите здесь:

C++ Сортировка
C++ Сортировка
Сортировка C++
Сортировка C++
Сортировка C++
C++ Сортировка
C++ сортировка
Сортировка С++ C++
C++ Сортировка
Сортировка C++
Сортировка C++ C++
Сортировка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
01.11.2010, 16:07     сортировка #2
Цитата Сообщение от katena88 Посмотреть сообщение
При этом массив заполнен не весь, а только первые несколько элементов...
Вот с этого момента поподробнее - как это Вы массив создаёте и как заполняете? В любом случае, если известно количество элементов, какая разница - есть ещё место в массиве, или нет?
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
#include <stdio.h>
#include <stdlib.h>
 
#define MAX_ARRAY_SIZE 1024
 
int asc_cmp(const void * a, const void * b){
    return strcmp(*(char**)a, *(char**)b);
}
 
int desc_cmp(const void * a, const void * b){
    return strcmp(*(char**)b, *(char**)a);
}
 
int main(void){
    const char * big_array[MAX_ARRAY_SIZE] = { "Sidorov", "Ivanov", "Petrov" }, ** p;
    int i, size;
 
    for ( p = big_array; *p; ++p )
        ;
    size = p - big_array;
 
    printf("\nUnsorted:\n");
    for ( i = 0; i < size; ++i )
        printf("%s\n", big_array[i]);
 
    qsort(big_array, size, sizeof(char*), asc_cmp);
    printf("\nSorted ascendant:\n");
    for ( i = 0; i < size; ++i )
        printf("%s\n", big_array[i]);
 
    qsort(big_array, size, sizeof(char*), desc_cmp);
    printf("\nSorted descendant:\n");
    for ( i = 0; i < size; ++i )
        printf("%s\n", big_array[i]);
 
    return 0;
}
katena88
6 / 2 / 1
Регистрация: 25.10.2010
Сообщений: 86
01.11.2010, 16:36  [ТС]     сортировка #3
Цитата Сообщение от easybudda Посмотреть сообщение
Вот с этого момента поподробнее - как это Вы массив создаёте и как заполняете? В любом случае, если известно количество элементов, какая разница - есть ещё место в массиве, или нет?
[/C]
количество элементов не известно. Массив формируется из другого массива (выделяются все строчные и заглавные буквы лат алфавита).
И получается массив размерностью 30 элементов, но последние пустые

Добавлено через 3 минуты
ВСЕ! колчество элемнтов известно

Добавлено через 1 минуту
Только я не понимаю как твоя сортировка работает
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
01.11.2010, 18:09     сортировка #4
Цитата Сообщение от katena88 Посмотреть сообщение
Только я не понимаю как твоя сортировка работает
woodoo-magic
qsort
strcmp
Yandex
Объявления
01.11.2010, 18:09     сортировка
Ответ Создать тему
Опции темы

Текущее время: 11:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru