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

Вопрос по TMemo и сортировке вектора списков. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ "Теория вероятности Шейтона" и "Кодирование/дикодирование информации" (C++) http://www.cyberforum.ru/cpp-beginners/thread346977.html
Всем здравструйте! :) Есть две задачки: "Теория вероятности Шейтона" и "Кодирование/декодирование информации". Код первой: Задание первой: 1. Составить программу на языке C/С++ наличия букв русского алфавита в тексте, записанном в файл. 2. Определить энтропию этого текста. 3. Построить гистограмму распределения букв. КОД #include<iostream.h> #include<conio.h>
C++ fstream помогите, пожалуйста, чет я совсем запуталась((( /*Дан текстовый фал, содержащий целые числа, разделенные пробелами. Определить является ли последовательность чисел, находящихся в файле, упорядоченной. В новый файл вывести сообщение о том, являются ли последовательность чисел в данном файле упорядоченной по убыванию или по возрастанию либо не упорядоченной, а также - среднее... http://www.cyberforum.ru/cpp-beginners/thread346972.html
C++ Редактирование dll
Здравствуйте. Если честно не знаю в какой раздел обратиться. Решил к вам. Для одной из программ (ГИС Панорама) можно устанавливать дополнительные приложения, запускаемые внутренними средствами этой программы. Сама эта мини-программа представляет собой один dll файл. Необходимо его открыть и изменить немного графический вид (сделать шрифт покрупнее). Сам я немного занимался написанием...
ошибки компиляции C++
недавно создавал тему но никто не помог(поиск юзал не помогло) когда я компилирую пример из boost (самый первый) вот такие ошибки E:\boost_1_47_0/boost/system/error_code.hpp:214: undefined reference to `boost::system::generic_category()' E:\boost_1_47_0/boost/system/error_code.hpp:215: undefined reference to `boost::system::generic_category()' E:\boost_1_47_0/boost/system/error_code.hpp:216:...
C++ Множественное наследование http://www.cyberforum.ru/cpp-beginners/thread346897.html
В спортивных соревнованиях различных видов спорта приняли участие люди из разных стран. Название страны имеют следующую структуру country = {имя, телефонный код, почтовый индекс}. Каждый участник соревнования весит ves = {килограмм, грамм} и может участвовать только в одной из предлагаемых спортивных мероприятий. Определить лучшие спортивные результаты, полученные в различных спортивных...
C++ распределенные системы Здравствуйте, не знала в каком разделе задать эту тему. Вопросы не относятся к языку С++. Это общие вопросы по поводу распределенной системы. Помогите кто как сможет: 1) Мультипроцессор – это распределенная система? 2) Мильтиядерный процессор – это распределенная система? 3) Кластер – это распределенная система? 4) Компьютер с копроцессором, у которого своя не совместно... подробнее

Показать сообщение отдельно
Red Planet
 Аватар для Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
31.08.2011, 18:49     Вопрос по TMemo и сортировке вектора списков.
Здравствуйте!
  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
    
    vector< list<int> > mVl (3, list<int>());
      mVl[0].push_back(20);
      mVl[0].push_back(7);
      mVl[0].push_back(17);
     
      mVl[1].push_back(1);
      mVl[1].push_back(12);
      mVl[1].push_back(34);
     
      mVl[2].push_back(13);
      mVl[2].push_back(12);
      mVl[2].push_back(34);
     
      for (int i = 0; i < mVl.size(); i++) {
        for (list<int>::iterator it = mVl[i].begin(); it != mVl[i].end(); ++it) {
          cout << *it << " ";
        }
      cout << endl;
      }
     
      for (int i = 1; i < mVl.size(); i++) {
        sort(mVl.begin(), mVl.end());
      }
     
        cout << endl;
     
      for (int i = 0; i < mVl.size(); i++) {
      for (list<int>::iterator it = mVl[i].begin(); it != mVl[i].end(); ++it) {
        cout << *it << " ";
      }
      cout << endl;
      }
    Сначала были списки (20, 7, 17), (1, 12, 34), (13, 12, 34).
    После сортировки (1, 12, 34), (13, 12, 34), (20, 7, 17).

    То есть стандартная сортировка работает здесь без дополнительного параметра. А если будет задача отсортировать по возрастанию второго, то как здесь сделать? Пробовал писать
    C++
    1
    2
    3
    
    bool mSort(int left, int right) {
      return left < right;
    }
    и применять
    C++
    1
    2
    3
    
    for (int i = 1; i < mVl.size(); i++) {
      sort(mVl.begin(), mVl.end(), mSort(mVl[i-1].front(), mVl[i].front()));
    }
    Не работает, говорит об ошибке "Call of non-function" и высылаем в algorithm на строки
    C++
    1
    2
    3
    4
    
    while (_First < _Pfirst
      && !_DEBUG_LT_PRED(_Pred, *(_Pfirst - 1), *_Pfirst)
      && !_Pred(*_Pfirst, *(_Pfirst - 1)))
      --_Pfirst;
  2. В поле Memo баг такой что-ли, что нельзя писать
    C++
    1
    
    MyMemo->Lines->Add("\n\n\n")
    И сколько угодно еще можно написать символов "\n", но переход будет только на одну строку. В это же время
    C++
    1
    2
    
    MyMemo->Lines->Add("\n");
    MyMemo->Lines->Add("\n");
    работает.

    А
    C++
    1
    
    MyMemo->Text = "\nLorem ipsum\ndolor sit amet..."
    вообще игнорирует переходы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru