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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C & iostream http://www.cyberforum.ru/cpp-beginners/thread167211.html
В академии,в 1ом курсе учим язык Си, но на доске учитель написал уж больно мне знакомые вещи,типа Iostream,cin,cout.. Я спросил у него,что разве это не С++?Он говорит что уже в Си тоже есть cout и cin Это так? Доверю старому доброму форуму больше чем учителям :D
C++ Вычислить помогите сделат пожалуйста прогу 467x^18-748392x^14-423422x^10-243242x^6-97976967x^2 http://www.cyberforum.ru/cpp-beginners/thread167201.html
C++ using namespace std
using namespace std; скажите плиз что означает ета строка и для чего она нужна?
алгоритм copy C++
copy(v.begin(), v.end(), ostream_iterator<char>(cout, " ")); - копирует последовательность v.begin(), v.end() в выходной поток, а как сделать чтобы копировалось в какую нибудь переменную?
C++ Работа с графикой и изображениями http://www.cyberforum.ru/cpp-beginners/thread167192.html
можете написать примерно как выглядеть будит от начало до конца, наглядно. вот такая задача: просто после запуска будет открываться картинка если нажмёт например старт то откроется следующая, если опции то другая если выход из опция то вернётся к первой. Пока всё)) жду ответов) простите если сложно или есть другая причина.
C++ Visual Studio 2010 Прошу прощения если написал не туда, отдельного форма по VS не нашел! Люди такая проблема!! У меня есть VS 2010 Ultimate начинаю установку пишет такую тему! Точнее вот скрин! :wall: Че делать я уже все позакрывал! Семёрка стоит. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,604
19.09.2010, 18:08
Цитата Сообщение от fasked Посмотреть сообщение
std::vector<std::string> strings = { "abc", "cba", "bca", "bac" };
мелкомягкий cl выругался:
Код
C:\cpp\strings>cl fasked_strings_sort.cpp
Оптимизирующий 32-разрядный компилятор Microsoft (R) C/C++ версии 16.00.30319.01
 для 80x86
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

fasked_strings_sort.cpp
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\xlocale(323) : warning
C4530: Использован обработчик исключений C++, но семантика уничтожения объектов
не включена. Задайте параметр /EHsc
fasked_strings_sort.cpp(9) : error C2552: strings: инициализация не агрегированн
ых данных с помощью списка инициализации не допускается
        std::vector<_Ty>: типы с базовым классом не являются агрегатными
        with
        [
            _Ty=std::string
        ]

C:\cpp\strings>
cygwin-овский g++
Код
$ g++ -o fasked_strings_sort fasked_strings_sort.cpp
fasked_strings_sort.cpp: In function 'int main()':
fasked_strings_sort.cpp:9: error: braces around initializer for non-aggregate ty
pe 'std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<c
har> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allo
cator<char> > > >'
это в c++0x так можно?
Да и сортировать по убыванию длинны нужно...
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int lencmpdesc(const void * a, const void * b){
    return strlen(*(char**)b) -  strlen(*(char**)a);
}
 
int main(void){
    char buf[BUFSIZ], * p, ** arr;
    int count, i;
    
    printf("Enter some strings (just press <enter> when done):\n");
    
    arr = NULL;
    count = 0;
    while ( fgets(buf, BUFSIZ, stdin) ){
        if ( p = strrchr(buf, '\n') )
            *p = 0;
        if ( ! *buf )
            break;
        
        if ( ( arr = (char**)realloc(arr, sizeof(char*) * (count + 1)) ) == NULL ){
            perror("realloc");
            exit(1);
        }
        if ( ( arr[count++] = strdup(buf) ) == NULL ){
            perror("strdup");
            exit(1);
        }
    }
    
    if ( ! arr || ! count ){
        fprintf(stderr, "No strings entered!\n");
        exit(1);
    }
    
    qsort(arr, count, sizeof(char*), lencmpdesc);
    printf("Sorted by length descendant:\n");
    
    for ( i = 0; i < count; ++i )
        printf("%s\n", arr[i]);
    
    for ( i = 0; i < count; ++i )
        free(arr[i]);
    free(arr);
    
    exit(0);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru