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

Найти лучшее решение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, встретился ли в строке str1 какой-нибудь символ из строки str2 http://www.cyberforum.ru/cpp-beginners/thread331498.html
Нужно написать и протестировать функцию STRS(str1, str2), которая определяет, встретился ли в строке str1 какой-нибудь символ из строки str2. на языке СИ. Буду очень благодарен!!!
C++ про множества не понимаю как решить задачу решите если не трудно заранее спасибо. На плоскости задано n множеств по m точек в каждой. Среди точек первого множества найти такую, которая принадлежит наибольшему количеству множеств. http://www.cyberforum.ru/cpp-beginners/thread331470.html
Наибольшее общее кратное C++
Поясните пожалуйста как работает данная программа. #include<iostream> using namespace std; int main ( ) {setlocale(LC_ALL,"Rus"); int a,b,c; bool g=true; cout<<"Ввведите первое число --> "; cin>>a;
наследование классов C++
Народ, всем приветик! Уже 3 день сижу над етой темой, не получается задание, вчера выбрасывал на форум исходник, но в конце концов сделал я неправильно. Если кто сможет-напишите если нетяжело. А теперь само задание (из книги Шиманович): Введите глобальное перечисление enum shape{prizm,parallelepiped,cube,piramid,cone,cylinder}; Разработайте базовый класс Body (геометрическое тело) для...
C++ Тема для получения полезной информации http://www.cyberforum.ru/cpp-beginners/thread331448.html
Здравствуйте! Предлогаю закрепить эту тему. Дабы не плодить темы с вопросами где находится это, как настроить то, что значит интерпритатор и т.д., предлогаю писать сюда. Тот кто знает ответит вам. P/S Знаю гугл не отменяли, но не всегда там есть информация в том виде в котором её поймет каждый новичек.
C++ Посоветуйте книгу по с++ Посоветуйте книгу по с++ для самых-самых нубов чтобы было понятно, если и понятия не имеешь что это за язык. подробнее

Показать сообщение отдельно
dakuenjery
18 / 15 / 3
Регистрация: 13.06.2011
Сообщений: 116

Найти лучшее решение - C++

10.07.2011, 15:07. Просмотров 768. Ответов 16
Метки (Все метки)

Вот задание
Напишите программу, которая использует приведенные строки при подсчете количества слов в строке sentance и выявляет самые большие и самые маленькие из них. Если самую большую или самую маленькую длину имеют несколько слов отобразить все.

Вот мой код, но я думаю, что это не самое оптимальное решение
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <vector>
#include <string>
#include <cctype>
using namespace std;
 
int main()
{
    int cntWords = 0;
    int word = 0, minword = 100, maxword = 0;
    int min = 0, max = 0;
 
    vector<string> strMin(1, "string");
    vector<string> strMax(1);
 
    string line1 = "We were her pride of 10 she named us:";
    string line2 = "Benjamin, Phoenix, the Prodigal";
    string line3 = "and perspicacious pacific Suzanne";
 
 
    string sentance = line1 + ' ' + line2 + ' ' + line3;
 
    unsigned int i;
    for(i=0; i<sentance.size(); ++i){
        if(isalpha(sentance[i])){
            while((sentance[i] != ' ' && sentance[i] != ':')
                  && i<sentance.size() ){
                ++word;
                ++i;
            }
            ++cntWords;
        
            if(minword > word){
                minword = word;
            }
 
            if(maxword < word){
                maxword = word;
            }
 
            word = 0;
        }
    }
 
 
    for(i=0; i<sentance.size(); ++i){
        if(isalpha(sentance[i])){
            while(isalpha(sentance[i]) && i<sentance.size() ){
                ++word;
                ++i;
            }
    
            if(minword == word){
        strMin.push_back(" ");
                strMin[min].assign(sentance, i-word, word);
 
        ++min;
            }
 
            if(maxword == word){
        strMax.push_back(" ");
                strMax[max].assign(sentance, i-word, word);
 
        ++max;
            }
 
            word = 0;
        }
    }
 
    cout << "Количество слов " << cntWords << endl;
 
    int a=0;
    cout << "Самые мальнькие слова" << endl;
    while(strMin.size() > a){
        cout << strMin[a] << endl;
        ++a;
    }
 
    a=0;
    cout << "Самые большие слова" << endl;
    while(strMax.size() > a){
        cout << strMax[a] << endl;
        ++a;
    }
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru