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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
DEM90
17 / 17 / 1
Регистрация: 06.05.2009
Сообщений: 115
#1

Слова английского текста рассортировать по возрастанию количества заданной буквы в слове - C++

15.05.2009, 15:58. Просмотров 1418. Ответов 7

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

при изучении С++ наткнулся на такую задачку, а как решить - без понятия... Буду очень рад помощи...

Добавлено через 13 часов 27 минут 13 секунд
Неужели это такая сложная задача? Если не программно, то не могли бы вы объяснить, что такое и как создаётся ДИНАМИЧЕСКИЙ МАССИВ УКАЗАТЕЛЕЙ НА СТРОКИ...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2009, 15:58     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове
Посмотрите здесь:
Удалить слова, начинающиеся с заданной подстроки, а слова без заданной подстроки, упорядочить по возрастанию C++
C++ Для заданного достаточно длинного слова найти в имеющемся тексте все слова, в которых использованы только буквы, имеющиеся в заданном слове
В заданной тексте определить все гласные буквы, встречающиеся в каждом слове C++
C++ Удалить из слова X все буквы, которые встречаются в слове Y
Вычеркните из одного слова все буквы, встречающиеся в другом слове. C++
Исправить код, чтобы сортировались слова в строке, а не буквы в слове C++
Поиск заданной буквы в строке. Определения количества слов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
15.05.2009, 16:21     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове #2
Цитата Сообщение от DEM90 Посмотреть сообщение
Если не программно, то не могли бы вы объяснить, что такое и как создаётся ДИНАМИЧЕСКИЙ МАССИВ УКАЗАТЕЛЕЙ НА СТРОКИ...
C++
1
2
3
4
5
6
7
8
const int maxstr = 10; //число строк
const int maxlen = 80; //длина строки
int i;
char **strptr; //массив указателей на строки
 
strptr = new char*[maxstr];
for(i = 0; i < maxstr; i++)
    strptr[i] = new char[maxlen];
DEM90
17 / 17 / 1
Регистрация: 06.05.2009
Сообщений: 115
16.05.2009, 01:33  [ТС]     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове #3
Gravity, спасибо!

Добавлено через 8 часов 36 минут 22 секунды
Как создавать это разобрался, а вот как делать вторую часть задания, подскжаите плиз...
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.05.2009, 05:06     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове #4
Цитата Сообщение от DEM90
Слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым количеством такой буквы расположить в алфавитном порядке.
Это qsort, функция сравнения должна быть чуть сложнее, чем обычно бывает

C
1
2
3
4
5
6
7
8
9
10
11
12
/* CountCharLine:  считает в строке l количество символов ch */
int CountCharLine(const char *l, int ch)
{
    int n;
    
    if (l == NULL)
        return EOF;
    for (n = 0; *l; l++)
        if (*l == ch)
            n++;
    return n;
}
там нужно будет условие if, которое на базе CountCharLine будет либо результат возвращать -1 0 1 когда они не равны, либо тоже возвращать -1 0 1 когда они равны, но тогда проверять строки через strcmp (чтобы определить алфавитный порядок)

пример qsort, где Func простая
Вложения
Тип файла: zip qsort_strparray.zip (566 байт, 24 просмотров)
DEM90
17 / 17 / 1
Регистрация: 06.05.2009
Сообщений: 115
25.05.2009, 01:14  [ТС]     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове #5
Скажите, а нету ли какого-либо другого способа сортировать текст? Что бы имнео своими функциями без помощи qsort`a
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.05.2009, 06:01     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
можно методом обмена

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* SortLines:  сортирует строки в lines в количестве nlines по алфавиту */
void SortLines(char lines[][MAXLINE], unsigned nlines)
{
    int i, j;
    char tmp[MAXLINE];
    
    for (i = 0; i < nlines; i++)
        for (j = i+1; j < nlines; j++)
            if (strcmp(lines[i], lines[j]) > 0) {
                strcpy(tmp, lines[i]);
                strcpy(lines[i], lines[j]);
                strcpy(lines[j], tmp);
            }
}
Новичёк
0 / 0 / 0
Регистрация: 16.05.2009
Сообщений: 8
02.06.2009, 00:52     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове #7
А у меня не получается запустить вашу функцию Не могли бы вы написать полностью код, а то у меня одни ошибки((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2009, 02:17     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове
Еще ссылки по теме:
Напишите программу, которая удаляет из слова X все буквы, которые встречаютьс в слове Z C++
Программа для нахождения общего количества вхождений заданной буквы C++
C++ Выяснить, есть ли в заданной строке слова, которые содержат все буквы слова "read"
C++ Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию
Вывести все слова начинающиеся с заданной буквы. C++

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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
02.06.2009, 02:17     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове #8
тут полный пример для сортировки строк
Вложения
Тип файла: zip sort_lines.zip (636 байт, 48 просмотров)
Yandex
Объявления
02.06.2009, 02:17     Слова английского текста рассортировать по возрастанию количества заданной буквы в слове
Ответ Создать тему
Опции темы

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