Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (24.01.2007 в 01:16)
Можно использовать какой-нибудь ассоциативный контейнер, например, мультимножество, которое автоматически сортирует свои элементы
#include <iostream>
#include <set>
#include <string>
using namespace std;

int main()
{
  // Отображение
  typedef multiset<string> StringMultiset;
  StringMultiset coll;

  try
  {
    char input[80];
    string str;
    while(true)
    {
      cout << "Введите строку ";
      fgets(input, 80, stdin);
      // Если введена пустая строка - выходим из цикла
      if(strlen(input) <= 1) break;
      // Удаляем завершающий перевод строки
      input[strlen(input) - 1] = '\0';
      // Присваиваем строке str значение input
      str = input;
      coll.insert(str);
    }
    
    StringMultiset::const_iterator pos;
    for(pos = coll.begin(); pos != coll.end(); ++pos)
    {
      cout << *pos << "\n";
    }
  }
  catch(bad_alloc)
  {
    cout << "Не удалось выделить память под коллекцию\n";
  }

  return 0;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: