0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 19
1

Поиск в строке слова с минимальным количеством букв (код программы есть, нужно найти ошибку)

16.10.2016, 22:21. Показов 1415. Ответов 1

Пользователь вводит строку, программа находит в ней слово с наименьшим количеством букв. Выводит только количество букв в этом слове. При написании программы обязательно использовать класс <string>. Вот код программы, но на экран всегда выводится число 1:

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
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
 
bool LetterOrNo(char ch)                                // функция обнаружения пробела (разделительного символа между словами)
{
    if(ch <= 'A'  && ch >= 'Z')
        return true;
 
    if(ch <= 'А' && ch >= 'Я')
        return true;
 
    if(ch <= 'a' && ch >= 'z')
        return true;
 
    if (ch <= 'а' && ch >p= 'я')
        return true;
}
 
int main(int argc,char* argv)
{
    setlocale (LC_ALL, "Russian");
 
    string s1;                                                    // строка
 
    int a = 0;                                                    // длина слова
    int Min = 1000;
    int count = 0;                                              
 
 
    cout << "Введите строку: " << endl;
    getline(cin, s1);
 
    a = s1.length();
 
    for(int i = 0; i <= a; i++)
    {
        if(LetterOrNo(s1[i]))
            count++;
 
        if(LetterOrNo(s1[i]) && !LetterOrNo(s1[i + 1]))
        {
            if(count < Min)
                Min = count;
        }
 
        count = 0;
    }
 
           cout << "Наименьшее количество букв равно: " << Min << endl;
 
    return 0;
}
Добавлено через 1 минуту
18 строка, вместо ">p=" стоит ">="
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2016, 22:21
Ответы с готовыми решениями:

Обменять слова с максимальным и минимальным количеством букв «а»
Привет! Выручайте! Необходимо обменять слова с максимальным и минимальным количеством букв &quot;а&quot;....

Подсчет длины слова с минимальным/максимальным количеством букв
программа выводит слово с минимальным и максимальным количеством букв как сделать так чтобы она...

Удалить в строке слова с минимальным количеством символов
Здравствуйте программисты! Прошу помочь мне с програмкой, найти ошибки. Необходимо ввести сроку...

Транслитерировать! код есть, нужно найти ошибку
Транслитерировать текстовый файл в латиницу. Помогите найти ошибку, программа не все буквы...

1
6 / 6 / 3
Регистрация: 09.12.2015
Сообщений: 31
16.10.2016, 23:52 2
разбирать не стал, сваял готовый пример.
Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <locale>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
 
//разделяет строку на отдельные слова и укладывает каждое слово в вектор.
void split(const std::string &s, char delim, std::vector<std::string> &elems) {
    std::stringstream ss;
    ss.str(s);
    std::string item;
    while (std::getline(ss, item, delim)) {
        elems.push_back(item);
    }
}
 
void main()
{
    setlocale(LC_ALL, "");
    std::string str;
    std::vector<std::string> vc;
 
    getline(std::cin, str);
 
    if (!str.empty()) {
        split(str, ' ', vc);
        if (!vc.empty()) {
            std::sort(vc.begin(), vc.end());//сортируем по возрастанию
            std::cout << "Количество букв - " << vc.at(0).size() << std::endl; // вывод резулютата
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2016, 23:52
Помогаю со студенческими работами здесь

Создать функцию, записывающую слова с максимальным и минимальным количеством букв "о" в одномерный массив
Создать двумерный символьный массив.Заполнить с клавиатуры.Создать функцию, записывающую слова с...

Найти в файле слова, начинающиеся на заданную букву, и слова с заданным количеством букв
создать тестовый файл ,найти в в ньом слова которые начинаются на заданую букву и слова с заданым...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru