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

Непонятно условие. Основы С++ (Найти все слова, в которых доля букв a, b максимальна) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Непонятно условие. Основы С++ (найти в S1,…,Sn все слова, из которых могло бы получиться a1,…,a10 в результате одной ошибки) http://www.cyberforum.ru/cpp-beginners/thread776061.html
Добрый день. Задали решить пару задач из задачника Абрамова. Только условия вообще не могу понять! Помогите, пожалуйста, чем-нибудь!! Заранее благодарен!! Тема: Программирование задач по обработке последовательности символов. Задача 366 (3) Даны символы a1,…,a10, натуральное число n , символы S1,…,Sn . Как и в предидущей задаче, будем рассматривать слова, входящие в последовательность...
C++ Однотипный вызов функции У меня много функций. Мне нужно в начале каждой из этих функций делать вызов еще одной, можно ли это как нибудь автоматически сделать? Вот пример void a() { fun(); } void b() { http://www.cyberforum.ru/cpp-beginners/thread776039.html
Алгоритм на языке псевдокода (Преобразовать одномерный массив) C++
Было задание в борланде - Преобразовать одномерный массив, состоящий из 10(любых) вещественных элементов, таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные ( элементы, равные 0, считать положительными). код готовой проги #include <iostream.h> #define N 10 int main(){ int i, j; float a, t;
C++ Нарисовать график функции
Написать программу, которая выводит на экран точечный график функции y= √x. Диапазон изменения аргумента – от 0 до 5, шаг аргумента – 0.5. График вывести на фоне координатных осей ,точка пересечения которых должна находиться в центре экрана. # include <graphics>.h> # include <stdio.h> # include <conio.h> # include <math.h> # define PATHTODRIVER “ c: \\ borlandc \\ bgi \\” void grafic ( )...
C++ Массив и классы (как передаётся объект: по значению или по ссылке?) http://www.cyberforum.ru/cpp-beginners/thread775980.html
Массив передаётся в функцию по ссылке, а объект по значению. Если в классе есть массив, то как передаётся объект по значению или по ссылке?
C++ Дана информация о пяти квартирах. Запись имеет вид: фамилия владельца, площадь, число комнат, этаж. Вывести данные о квартирах Дана информация о пяти квартирах. Запись имеет вид: фамилия владельца, площадь, число комнат, этаж. Вывести данные о квартирах с площадью меньше 30 кв.м и подсчитать их количество. подробнее

Показать сообщение отдельно
Dark-VIN
 Аватар для Dark-VIN
1 / 1 / 0
Регистрация: 16.01.2013
Сообщений: 66
01.05.2013, 01:48  [ТС]     Непонятно условие. Основы С++ (Найти все слова, в которых доля букв a, b максимальна)
Code

Цитата Сообщение от xtorne21st Посмотреть сообщение
Я не пойму о чём мог/могла думать ваш/ваша Абрамова, когда трактовал/трактвала такое условие... "Доля букв максимальна", но по отношению к чему? По отношению к предыдущим словам в предложении или по отношению к семантическому составу каждого слова? Или ещё к чему-нибудь?
Более-мение логичен вариант с максимальным вхожденимем символов 'a' и 'b' в слово (Т.е найти слово в предложении с максимальным вхождением символов 'a' и 'b'):
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
44
45
46
47
48
49
50
51
52
53
// Программа ищет слово с максимальным вхождением символов 'a' и 'b'
 
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
using namespace std;
 
int main()
{
    string text;
    vector<string> line;
 
    // Воводим строку в стиле С++
    cout << "Put some text: ";
    getline(cin, text);
 
    // Копируем строку в стиле С++ в строку в стиле С для обработки на токены
    char* p_text = new char[text.size()+1];
    strcpy(p_text, text.c_str());
    char* ptr = strtok(p_text, " \n\b\t");
 
    // Заносим в вектор слова
    while (ptr) {
        line.push_back(ptr);
        ptr = strtok('\0', " \n\b\t");
    }
 
    // Находим максимально вхождение символов 'a' и 'b',
    // и при успехе укавываем на него итератором
    int count;
    int max = 0;
    vector<string>::const_iterator result = line.end();
    for (vector<string>::const_iterator i = line.begin(); i != line.end(); ++i) {
        count = 0;
        for (string::const_iterator j = (*i).begin(); j != (*i).end(); ++j)
            if (*j == 'a' || *j == 'b')
                ++count;
        if (count > max) {
            max = count;
            result = i;
        }
    }
 
    // Отображаем слово при помощи итератора
    (result != line.end()) ?
        (cout << "Word which have maximum 'a' and/or 'b' character is: \"" << *result << "\".\n") :
        (cout << "No found\n");
 
    delete [] p_text; // "удаляем" временный массив
 
    return 0;
}

- ПОЖАЛУЙСТА, НАБРОСАЙТЕ БЛОК СХЕМУ!!!
 
Текущее время: 09:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru