Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблон http://www.cyberforum.ru/cpp-beginners/thread250671.html
Создать класс-шаблон, содержащий поля для хранения одномерного массива и количества элементов в массиве. Описать методы для инициализации и вывода элементов массива на экран, а так же для подсчета...
C++ Массив В одномерном массиве, состоящем из n вещественных элементов, использую родовые функции, вычислить максимальный по модулю элемент массива; http://www.cyberforum.ru/cpp-beginners/thread250670.html
Указатели... C++
Присвоить разыменованному указателю на тип long значение арифметического выражения sin(p2)/tan(p3) включающего указатели на типы unsigned long int и int. Арифметическое выражение реализовать в виде...
C++ Заданы 3 матрицы
1. Преобразовать матрицу x(p,k) таким образом , чтобы первый элемент каждого столбца был заменен произведением последующих элементами того же столбца. Как будет выглядеть участок кода ,где будет...
C++ палиндромы (С++) http://www.cyberforum.ru/cpp-beginners/thread250632.html
дана целочисленная квадратная матрица порядка n. Найти номера строк, элементы которых образают симметричные последовательности (палиндромы) помогите срочно...плиз......
C++ заполненный треугольник разработать программу, которая выводит на экран геометрическую фигуру, заполненную символом "*" или пробелом. размер фигуры ( n) определяема при ввводе. заполненный равнобедренный треугольник.... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,848
03.03.2011, 00:56
Цитата Сообщение от c_user Посмотреть сообщение
Вопрос был о возможности сортировать методом sort массивы, без костылей - это типа конвертации в вектор и назад.
Ну совсем без костылей не получится, но при желании всегда можно извернуться
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <string>
#include <cstring>
 
struct Cmp {
    bool operator () (const char * const & a, const char * const & b){
        return strcmp(a, b) < 0;
    }
};
 
int main(){
    const char * names[] = { "Olexandr","Yasya","Lyuba","Tanya","Dima","Andriy","Yulya","Maksim" };
    
    std::cout << "Before: ";
    std::copy(names, names + sizeof(names) / sizeof(*names), std::ostream_iterator<std::string>(std::cout, " "));
    std::cout << std::endl;
    
    std::sort(names, names + sizeof(names) / sizeof(*names), Cmp());
    
    std::cout << "After:  ";
    std::copy(names, names + sizeof(names) / sizeof(*names), std::ostream_iterator<std::string>(std::cout, " "));
    std::cout << std::endl;
    
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru