Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка строки 
:(
    Опции темы
MOTOR4eGG
Дата 29.4.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.4.2009

Репутация: нет
Всего: нет



Добрый день.
задача такая: нужно строку по первой букве слова отсортировать по алфавиту и исключить повторение слов

вот пока то что есть

Код

#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;



void main()
{
    char str[100];
    int a(0);
    cout<<"Vvedite stroku   ";
    cin.getline(str,100);
    char *c;
    int j=0;
    c=strtok(str," ");
    while (c != NULL)
    {
        printf("%s    ",c);
        c=strtok(NULL," ");
    }
    getch();
}


не могу понять как работать со словами после использования функции strtok

заранее благодарю

Это сообщение отредактировал(а) MOTOR4eGG - 29.4.2009, 18:19
PM MAIL   Вверх
zim22
Дата 29.4.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(MOTOR4eGG @  29.4.2009,  18:01 Найти цитируемый пост)
 нужно в строку по первой букве слова отсортировать по алфавиту

вы точно человек, не искуственный интеллект? я есть плохо понимать твоя вопрос.
Код

#include <string>
#include <algorithm>
#include <vector>
#include <iostream>

int main()
{
  std::istream_iterator<std::string> cin_it(std::cin);
  std::istream_iterator<std::string> end_of_stream;    

  std::vector<std::string> vs(cin_it, end_of_stream);
  std::sort(vs.begin(), vs.end());
  std::copy(vs.begin(), vs.end(), std::ostream_iterator<std::string>(std::cout, " "));

    return 0;
}

Пример ввода: hello my friend (Enter нажать, CTRL+Z нажать)


--------------------
PM MAIL   Вверх
MOTOR4eGG
Дата 29.4.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.4.2009

Репутация: нет
Всего: нет



 
Цитата

нужно в строку по первой букве слова отсортировать по алфавиту

вы точно человек, не искуственный интеллект? я есть плохо понимать твоя вопрос.


Извиняюсь smile 

спасибо)

Это сообщение отредактировал(а) MOTOR4eGG - 29.4.2009, 18:23
PM MAIL   Вверх
Toxyrain
Дата 29.4.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.4.2009

Репутация: нет
Всего: нет



Код

 for(f=0;f<n-1;f++)
    {
        for(i=0;i<=n-2;i++)
        {
            if(pc[i]<pc[i+1])
            {
                null=pc[i];
                pc[i]=pc[i+1];
                pc[i+1]=null;
            }
        }
    }

Сортировка по возростанию, думаю догадаешся как сделать по убыванию и будет тебе в алфавитном порядке 
PM MAIL   Вверх
MOTOR4eGG
Дата 29.4.2009, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.4.2009

Репутация: нет
Всего: нет



эмммм, у меня проблема не в сортировке,
а в работе со словами в строке.
Цитата

не могу понять как работать со словами после использования функции strtok


но всё равно спасибо)
PM MAIL   Вверх
Toxyrain
Дата 29.4.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.4.2009

Репутация: нет
Всего: нет



PM MAIL   Вверх
andrew_121
Дата 29.4.2009, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



zim22, Великолепный код!!! Чистый С++.
Респект!!!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
zim22
Дата 29.4.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



 smile 
andrew_121, не смущайте меня  smile 


--------------------
PM MAIL   Вверх
azesmcar
Дата 30.4.2009, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



zim22 элегантно smile
хотя чего уж там..сразу вот так smile
Код

#include <string>
#include <algorithm>
#include <set>
#include <iostream>

int main()
{
    std::set<std::string> vs(
        std::istream_iterator<std::string>(std::cin), (std::istream_iterator<std::string>())
    );

    std::copy(vs.begin(), vs.end(), std::ostream_iterator<std::string>(std::cout, " "));
}



Это сообщение отредактировал(а) azesmcar - 30.4.2009, 09:36
PM   Вверх
zim22
Дата 30.4.2009, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(azesmcar @  30.4.2009,  09:34 Найти цитируемый пост)
хотя чего уж там..сразу вот так

ага. если бы можно в одну строчку было всё написать, вы бы написали smile


--------------------
PM MAIL   Вверх
azesmcar
Дата 30.4.2009, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата

ага. если бы можно в одну строчку было всё написать, вы бы написали smile 

Да нет smile почему в одну строчку..тут главное std::set а не одна строчка smile

Добавлено через 1 минуту и 34 секунды
А вообще да smile устроим конкурс по укорачиванию кода
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0984 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.