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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KrisDen
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 10
#1

Сортировка слов в предложении по алфавиту - C++

13.03.2013, 15:49. Просмотров 1088. Ответов 12
Метки нет (Все метки)

доброго времени суток! у меня такая проблема - нужно распечатать в алфавитном порядке слова из предложения. так вот, когда на английском вводятся слова, все норм, а на русском какие то закорючки... помогите пожалуйста добрые люди!
вот код
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <locale.h>
void main()
{
    setlocale(LC_CTYPE,"Russian");
    const int SIZE = 100;
    char *ch = new char[SIZE];
    puts("Введите строку: ");
    fgets(ch, SIZE, stdin);
 
    char *x[SIZE] = {0};
    char *p = strtok(ch, " ");
    int i = 0;
 
    while (p)
    {
        x[i++] = p;
        p = strtok(NULL, " ");
    }
 
    i = 0;
    puts("слова: ");
    while (x[i] != 0)
    {
        bool flag = false;
        for (int j = 0; j < i; ++j)
        {
            if (!strcmp(x[j], x[i]))
            {
                flag = true;
                break;
            }
        }
 
        if (!flag)
            puts(x[i++]);
    }
    getchar();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 15:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка слов в предложении по алфавиту (C++):

Отсортировать слова в предложении по алфавиту и подсчитать количество слов - C++
отсортировать слова в предложении по алфавиту и подсчитать количество слов

Сортировка слов по алфавиту - C++
Всем привет, помогите мне пожалуйста с сортировкой слов по алфавиту, словом считают группу символов между двумя пробелами. Упорядочить...

Сортировка слов по алфавиту - C++
Здравствуйте уважаемы программисты. Необходимо отсортировать слова по алфавиту. #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include...

Сортировка слов по алфавиту - C++
MFC GUI. Собственно в чем задача:Нужно прочитать слова из файла, отсортировать их по алфавиту методом выбора и записать в новый файл. ...

Сортировка слов в строке по алфавиту - C++
Собственно вот задание:Определить класс-строку. В класс включить два конструктора: для опре-деления класса строки строкой символов и путем...

Сортировка слов из массива по алфавиту - C++
Помогите пожалуйста найти ошибку. Неправильно сортирует слова. #include&lt;iostream&gt; using namespace std; const int n=4; ...

12
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
13.03.2013, 15:53 #2
Для русских букв и работы с ними

C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <windows.h>
 
int main()
{
// ...
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
1
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.03.2013, 15:58 #3
Все функции использованные вами за исключением setlocale(), предназначены для работы с однобайтовыми символами. fgets() нужно заменить на fgetws(), все чары в том числе и массивы из char заменить на тип wchar_t.
1
KrisDen
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 10
13.03.2013, 16:01  [ТС] #4
эммм... все равно та же беда...
0
Миниатюры
Сортировка слов в предложении по алфавиту  
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.03.2013, 16:06 #5
ну и strtok() на wcstok()
1
KrisDen
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 10
13.03.2013, 16:14  [ТС] #6
хм,теперь вон че говорит....
0
Миниатюры
Сортировка слов в предложении по алфавиту  
Croessmah
Эксперт CЭксперт С++
13514 / 7673 / 867
Регистрация: 27.09.2012
Сообщений: 18,896
Записей в блоге: 3
Завершенные тесты: 1
13.03.2013, 16:19 #7
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
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <Windows.h>
int main()
{
    SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
    const int SIZE = 100;
    char *ch = new char[SIZE];
    puts("Введите строку: ");
    fgets(ch, SIZE, stdin);
 
    char *x[SIZE] = {0};
    char *p = strtok(ch, " ");
    int i = 0;
 
    while (p)
    {
        x[i++] = p;
        p = strtok(NULL, " ");
    }
 
    i = 0;
    puts("слова: ");
    while (x[i] != 0)
    {
        bool flag = false;
        for (int j = 0; j < i; ++j)
        {
            if (!strcmp(x[j], x[i]))
            {
                flag = true;
                break;
            }
        }
 
        if (!flag)
            puts(x[i++]);
    }
    getchar();
}
Шрифт Lucida Console
Название: Безымянный.png
Просмотров: 146

Размер: 2.5 Кб
1
KrisDen
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 10
13.03.2013, 16:37  [ТС] #8
ахаах))это уже смешно...
0
Миниатюры
Сортировка слов в предложении по алфавиту   Сортировка слов в предложении по алфавиту  
Croessmah
Эксперт CЭксперт С++
13514 / 7673 / 867
Регистрация: 27.09.2012
Сообщений: 18,896
Записей в блоге: 3
Завершенные тесты: 1
13.03.2013, 16:42 #9
Цитата Сообщение от KrisDen Посмотреть сообщение
ахаах))это уже смешно...
ШРИФТ ПОМЕНЯЙТЕ!!!

Не по теме:

специально же жирным выделил

0
KrisDen
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 10
13.03.2013, 16:45  [ТС] #10
поменяла так то...
0
Croessmah
Эксперт CЭксперт С++
13514 / 7673 / 867
Регистрация: 27.09.2012
Сообщений: 18,896
Записей в блоге: 3
Завершенные тесты: 1
13.03.2013, 16:49 #11
Цитата Сообщение от KrisDen Посмотреть сообщение
поменяла так то...
Неужели не видите отличий в начертании шрифтов?
Название: Безымянный.png
Просмотров: 110

Размер: 3.1 Кб
0
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.03.2013, 18:19 #12
Цитата Сообщение от Croessmah Посмотреть сообщение
Шрифт Lucida Console
Читерство какое-то. Как можно использовать char для unicode символов?
0
oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
16.03.2013, 20:31 #13
Попробуйте:

C++
1
2
#include<locale.h>
setlocale (LC_ALL, "Russian");
0
16.03.2013, 20:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2013, 20:31
Привет! Вот еще темы с ответами:

Сортировка слов в строке по алфавиту - C++
Дана строка из слов через пробел.Надо рассортировать слова по алфавиту и распечатать новую строку. Использовать библиотеки iostream и...

Сортировка слов в char по алфавиту - C++
Доброго всем времени! Помогите пожалуйста! Напечатать слова, входящие в предложение, в алфавитном порядке. Человек, попросивший...

Сортировка слов из массива по алфавиту - C++
Здравствуйте! Возникла проблема. Написал программу для сортировки слов по алфавиту. Без использования функций все работало. Теперь...

Сортировка слов по алфавиту с ипользованием классов - C++
Есть задание - написать программу, которая бы сортировала слова в строке по алфавиту. У меня есть такой вот алгоритм. Надо его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru