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

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

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

В тексте найти и вывести слово наибольшей длины, в котором нет заданной буквы - C++

26.10.2011, 14:59. Просмотров 657. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста. Дуб дубом, а завтра сдавать надо.
Надо на писать на простом си, желательно с парой комментариев(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 14:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В тексте найти и вывести слово наибольшей длины, в котором нет заданной буквы (C++):

Найти в тексте самое длинное слово в котором нет цифр - C++
Найти в тексте самое длинное слово в котором нет цифр. Пожалуйста, очень надо)

Дан текстовый файл. Вывести первое слово текста наибольшей длины - C++
Дан текстовый файл.Вывести первое слово текста наибольшей длины.помогите написать прогу на си

Дан текстовый файл. Вывести первое слово текста наибольшей длины - C++
Такое слово должно выводиться с учетом знаков препинания, расположенных в начале и в конце слова. Помогите пожалуйста!:)

Исправить ошибку. Программа находит в введенном тексте слово, в котором буквы идут по алфавиту - C++
Программа находит в введенном тексте слово, в котором буквы идут по алфавиту и выводит его на экран. Написала программу, но она работает...

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

Преобразовать каждое слово в тексте: если слово нечётной длины, то удалить его среднюю букву - C++
Задан текст. Между словами - пробел, за последним символом точка. Вывести текст, предварительно преобразовав каждое слово: если слово...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9627 / 5575 / 947
Регистрация: 25.07.2009
Сообщений: 10,710
26.10.2011, 16:24 #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
#include <stdio.h>
#include <string.h>
    
#define STR_LEN 1024
#define STR_MASK "%1023[^\n]%*c"
#define CHAR_MASK "\t%c%*c"
#define DELIM " ,.!?;:\t"
    
int main(void){
    char str[STR_LEN], * pWord, * pMaxWord, ch;
    int iCurLen, iMaxLen;
    
    while ( printf("String: ") && scanf(STR_MASK, str) == 1 && printf("Exclude char: ") && scanf(CHAR_MASK, &ch) == 1 ){
        iMaxLen = 0;
        pMaxWord = NULL;
        
        for ( pWord = strtok(str, DELIM); pWord; pWord = strtok(NULL, DELIM) ){
            if ( ! strchr(pWord, ch) ){
                if ( ( iCurLen = strlen(pWord) ) > iMaxLen ){
                    iMaxLen = iCurLen;
                    pMaxWord = pWord;
                }
            }
        }
        if ( iMaxLen == 0 )
            printf("No words without letter %c\n", ch);
        else
            printf("The first max length (%d) word without letter %c is %s\n", iMaxLen, ch, pMaxWord);      
    }
    
    return 0;
}
0
kuwmen
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 23
09.11.2011, 14:52  [ТС] #3
Цитата Сообщение от easybudda Посмотреть сообщение
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
#include <stdio.h>
#include <string.h>
    
#define STR_LEN 1024
#define STR_MASK "%1023[^\n]%*c"
#define CHAR_MASK "\t%c%*c"
#define DELIM " ,.!?;:\t"
    
int main(void){
    char str[STR_LEN], * pWord, * pMaxWord, ch;
    int iCurLen, iMaxLen;
    
    while ( printf("String: ") && scanf(STR_MASK, str) == 1 && printf("Exclude char: ") && scanf(CHAR_MASK, &ch) == 1 ){
        iMaxLen = 0;
        pMaxWord = NULL;
        
        for ( pWord = strtok(str, DELIM); pWord; pWord = strtok(NULL, DELIM) ){
            if ( ! strchr(pWord, ch) ){
                if ( ( iCurLen = strlen(pWord) ) > iMaxLen ){
                    iMaxLen = iCurLen;
                    pMaxWord = pWord;
                }
            }
        }
        if ( iMaxLen == 0 )
            printf("No words without letter %c\n", ch);
        else
            printf("The first max length (%d) word without letter %c is %s\n", iMaxLen, ch, pMaxWord);      
    }
    
    return 0;
}
Не мог бы кто-нибудь помочь переписать программу, чтобы она была выполнена с помощью функции?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2011, 14:52
Привет! Вот еще темы с ответами:

Найти самое длинное слово начинающееся с заданной буквы - C++
Дана строка символов. Найти самое длинное слово, начинающееся с буквы ''я'', и вывести его в обратном порядке. С++ рабочая программа...

В словах наибольшей длины удалить среднюю букву (средние буквы) - C++
В тексте все слова разделены пробелами и знаками препинания. Напечатать все слова, предварительно выполнив преобразования: в словах...

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

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


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

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

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