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

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

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

В строке, состоящей из слов и знаков препинания, найти слово максимальной длины - C++

29.01.2014, 20:45. Просмотров 474. Ответов 3
Метки нет (Все метки)

В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-, найти слово максимальной длины;
Программа должна обрабатывать любое количество вариантов данных.

Добавлено через 10 минут
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
#include <iostream>
 
using namespace std;
int main (){
    int max=0,a=0,t=0,i,g;
    char str[100],viv[100];
    
    cout <<"Vvedite stroky - ";
    cin.getline (str, 100);
     g=strlen(str)-1;
    for (i=0; i <g; i++){
        
if(str[i]!=' '){if(str[i]!='.'){if(str[i]!=','){if(str[i]!='!'){if(str[i]!='?'){if(str[i]!='-'){if(str[i]!=';'){if(str[i]!='\0'){a=a+1;}}}}}}}}
        
        if (str[i]==' ') {if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='.'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]==','){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='!'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='?'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='-'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]==';'){if( a > max ){max = a;t=i;}
            a=0;}
        if(str[i]=='\0'){if( a > max ){max = a;t=i;}
            a=0;}
 
    }
    for (i=0; i<=t; i++){ viv[i]=str[i+t-max];}
    cout <<viv;
    cout <<max<<endl;
    system("pause");
return 0;
}
вот код где идет вывод но выводит какую то чушь. как можно исправить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 20:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В строке, состоящей из слов и знаков препинания, найти слово максимальной длины (C++):

В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слово максимальной длины - C++
Помогите пожалуйста составить программу !!! вот условие В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти...

В строке, состоящей из слов и знаков препинания(пробел.:,!?-;),найти слово максимальной длины, не содержащее заданную букву - C++
В строке, состоящей из слов и знаков препинания(пробел.:,!?-;), найти слово максимальной длины, не содержащее заданную букву/

В строке, состоящей из слов и знаков препинания найти все слова-палиндромы - C++
В строке, состоящей из слов и знаков препинания(пробел . : , ! ? - ;) найти все слова-палиндромы. Программа должна обрабатывать любое...

Найти в функции в строке слово максимальной длины - C++
Ввести строку. Найти в функции в ней слово максимальной длины.

Найти в строке слово-перевертыш максимальной длины - C++
Дана строка в виде предложения. Найти в ней слово-перевертыш максимальной длинны. Словом будем считать набор символов, отделенных с двух...

Найти количество знаков препинания в строке - C++
задана строка.найти количество знаков препинания в строке C++

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Frosten
3 / 3 / 5
Регистрация: 28.01.2014
Сообщений: 13
29.01.2014, 21:22 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
шестую строчку измени на
C++
1
char str[100]=" ", viv[100]=" ";
и станет выводить нормально, но у тебя там в коде где-то ошибка и выводится не слово с максимальной длиной, а слово с минимальной длиной.
MONOLIT93
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 12
30.01.2014, 05:54  [ТС] #3
Окей спасибо буду разбираться.

Добавлено через 16 минут
В данном случаи он берет только 1 слово. как сделать что бы дальше брал слова?
MONOLIT93
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 12
30.01.2014, 06:06  [ТС] #4
Вот крин что выходит. берет часть 2 слова. Подскажите почему? Если не сложно.
Миниатюры
В строке, состоящей из слов и знаков препинания, найти слово максимальной длины  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2014, 06:06
Привет! Вот еще темы с ответами:

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

Ввести строку. Найти в функции в ней слово максимальной длины - C++
Как засунуть всю задачу в функцию, так что бы вызвать ее с помощью меню? Задача: Ввести строку. Найти в функции в ней слово максимальной...

Слово максимальной длины заменить на слово минимальной длины - C++
Задача: Создать 2 объекта разработанного класса. Одной из компонент класса является символьная строка. В результате выполнения программы...

В строке, состоящей из слов, найти и вывести на экран все слова, начинающиеся на букву w - C++
В строке , состоящей из слов , найти и вывести на экран все слова , начинающиеся на букву w .


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.01.2014, 06:06
Ответ Создать тему
Опции темы

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