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

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

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

Добить-Отполировать Задачу на Строки - C++

15.01.2012, 13:29. Просмотров 250. Ответов 0
Метки нет (Все метки)

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


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

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
#include<iostream>  
#include<cstdio>
#include <string>
using namespace std;
 
int main(){
    char *s= new char[256];
    char *outs = new char[256];
    outs[0]=0;
    char c;
    cout<<"Vvedite svoy text: \n";
        gets(s);
        cout<<"Vvedite zadannuyu bukvu: \n";
        cin>>c;
 
//сперва будем удалять слова, содержащие заданную букву:
 
        int start=0;
        bool b=true;
        for (size_t i=0; i<strlen(s);i++)
        {
            if (s[i]==c)
                b=false;
            if(s[i]==' ')
            {
                if(b)
                    strncat(outs, s+start, i-start+1);
                b=true;
                start=i+1;
            }
        }
        if(b)
            strcat(outs, s+start);
 
        
// тепрь outs - массив со словами без заданной буквы
 
//поиск самого длинного слова в массиве outs: 
 
int curlen=0; // текущая длина слова
int maxlen=0; // максимальная длина слова
int index= 0; // позиция конца самого длинного слова
 
for (int i=0; i < strlen(outs); i++){
    if (outs[i]==' ' || outs[i]=='\0'){
        if (curlen>maxlen){
            maxlen = curlen;
            index=i;
        }
        if (outs[i] == '\0') break;
        curlen = 0;
    }
    else curlen++;
}
cout<<"\n";
//вывод слова:
 
for(int i = index-maxlen; i<=index; i++){
    cout<<outs[i];
}
cout<<"\n";
return(0);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2012, 13:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добить-Отполировать Задачу на Строки (C++):

Нужно добить программу в С++ - C++
Помогите добить программу в С++ Задание: В каждом из массивов найти наименьшее значение и умножить на него все элементы массивов. На...

Не могу добить прогу - C++
И снова здравствуйте. Дано задание: &gt;Дана последовательность целых чисел {Aj} произвольной длины. Найти произведение чисел, не...

нуна добить тупую прогу - C++
Дан бесконечный ряд заданный &quot; e^(-1)= 1 - x + (x^2/2!)-(x^3/3!)+(x^4/4!)-...&quot; |x|&lt;1. Написать на языке СИ++ программу, вычисляющую...

Товарисчи объясните пожалуйста как сделать данную задачу! (Найти наибольший элемент каждой строки А(4,6) и записать их в массив Y) - C++
Найти наибольший элемент каждой строки А(4,6) и записать их в массив Y. С программированием не разу не сталкивался объясните...

Помогите добить задачу) Не проходят некоторые тесты (неизвестно какие) - Delphi
Здравствуйте. Собственно есть несложная задача по программированию. Решил как полагается в соответствии со своими возможностями и...

Как добить прожку - Delphi
Как дописать программу на делфи: Дана строка, состоящая из групп нулей и единиц. Найти и вывести на экран самую короткую группу. Для ввода...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2012, 13:29
Привет! Вот еще темы с ответами:

не получается добить регулярку - PHP
Приветствую форумчане! Есть список тел.номеров : 84951234567 +74951234567 8-495-1-234-567 8 (8122) 56-56-56 8-911-1234567 8...

Не смог добить бан вирус - Удаление вирусов
Здравствуйте,у меня появл. баннер вирус Антивирус касперского онлайн отправ. смс и т.д.Безопас. режим не запускаеться и диспетчер зад....

Отладить задачу на строки - Pascal
Вот сама задача. На планете Роботов очень не любят десятичную систему счисления, поэтому они попросили Вас написать программу, которая...

ERwin-диаграмма пытаюсь добить задание! - Базы данных
По условию есть некий гараж в котором работают водилы, к которым приписываются машины, после чего те начинают совершать поездки, в ходе...


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

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

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