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

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

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

Подсчитывание строк - C++

26.10.2016, 13:52. Просмотров 119. Ответов 3
Метки нет (Все метки)

Есть программа, которая должна на выводе дать
1.Количество слов в предложении
2.Самое короткое слово
3.Самое длинное слово
Проблема в том, что в вводе только пробелов, дропает программу. Нужно, что бы программу не дропало, а в консоле выдавало ошибку, о том, что введены одни пробелы и после "Enter" перезапускало программу.
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
#include <iostream>
#include <conio.h>
#include <cstdio>
#include <string.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    char x[100];
    char *max = NULL, *min = NULL;
    int size = 0;
    int i = 0,k = 0;
    cout<<"Введите строки: ";
    gets(x);
    if (strlen(x) == 0)
    {
        cout<<"Пустая строка";
    } 
        else 
    {
        for (i = 0; i < strlen(x)-1; i++)
        if (x[i] ==' ')
        {k = k + 1;}
        else
 
        if (0 == (strlen(x) - 1))
        {
            cout<<"Пустая строка";
            getchar();
            return 0;
        }
 
        int a = 0;
        char *y;
        y = strtok(x, " ");
        min = y;
        max = y;
        do
        {
            if (strlen(y) < strlen(min))
            min = y;
            if (strlen(y) > strlen(max))
            max = y;
            a = a + 1;
        } 
        while (y = strtok(NULL, " "));
        if (max == min)
        {
            cout<<"????? ?????"<<endl;
        }
        cout<<"Слов "<<a<<endl;
        cout<<"Самое короткое: "<<min<<endl;
        cout<<"Самое длинное: "<<max<<endl;
    }
 
getchar();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2016, 13:52     Подсчитывание строк
Посмотрите здесь:

Перестановка строк матрицы по возрастанию среднего значения строк - C++
Разработать программу для перестановки строк матрицы таким образом, чтобы средние значения по строкам возрастали от первой строки к...

Запросить название учебного заведения, специальность и номер группы. записав их в массив из 3 строк. Подсчитать длины каждой строк - C++
Запросить у пользователя название учебного заведения, специальность и номер группы. записав их в массив из 3 строк. Подсчитать длины каждой...

Добавление неодинаковых строк в массив строк - C++
Здравствуйте! Возникла такая проблема, не могу понять как реализовать добавление в массив строк нодинаковых значений. Вот моя проба, знаю,...

Объясните смысл строк в коде (~20 строк) - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; using namespace std; int main() { char text; FILE *f =...

Внесение строк в массив строк (не сложно) - C++
Всем привет. Есть одна проблемка в решении задачи. Задачу я решил, но необходимо немного доделать. Прошу помощи! Заранее благодарен) ...

Добавление строк в масив строк - C++
Такой вот вопрос как в С++ сделать масив строк(строки статичной длинны), но чтобы можна было добавить ещё строки?

Вырезание строк из 1.txt, номера строк находятся в 2.txt - C++
Суть такова: есть 2 файла ПРИМЕР 1: \684763137613131788184831538 \1587435121531185145 \dfgsdg46415315dsfg413ds1g ...

Найти наибольший среди наименьших элементов строк и наименьший среди наибольших элементов строк - C++
5.Найти наибольший среди наименьших элементов строк и наименьший среди наибольших элементов строк.

Подсчитывание строк, слов и литеров - C (СИ)
#include &lt;stdio.h&gt; #define IN 1 //внутри слова #define OUT 0 //вне слова int main() { int c, nline, nword, nchar, state; ...

Подсчитывание файлов, строк, символов и слов в каталоге - Bash
Помогите доделать пожалуйста. #!/bin/csh set set i = 1 while ( $#argv &gt;= $i ) if ( ! -d $argv ) then echo &quot;$argv - нет...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5244 / 4564 / 1532
Регистрация: 14.04.2014
Сообщений: 18,150
26.10.2016, 14:17     Подсчитывание строк #2
C++
1
if (k == strlen(x))
TurukT0
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 1
05.12.2016, 22:47     Подсчитывание строк #3
При добавлении строки if (k == strlen(x)) программа перестаёт работать, помогите плиз)
nmcf
5244 / 4564 / 1532
Регистрация: 14.04.2014
Сообщений: 18,150
06.12.2016, 10:14     Подсчитывание строк #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    if (strlen(x) == 1)
    {
        cout<<"Пустая строка";
        getchar();
        return 0;
    }
 
    for (i = 0; i < strlen(x) - 1; i++)
        if (x[i] != ' ') break;
    if (i == strlen(x) - 1)
    {
        cout<<"Строка из пробелов";
        getchar();
        return 0;
    }
Yandex
Объявления
06.12.2016, 10:14     Подсчитывание строк
Ответ Создать тему
Опции темы

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