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

В функции вывести на экран все слова строки длина которых больше длины первого слова

06.01.2014, 16:38. Показов 1811. Ответов 2
Метки нет (Все метки)

Вывести символьную строку. В функции вывести на экран все слова строки длина которых больше длины первого слова.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2014, 16:38
Ответы с готовыми решениями:

Все слова, длина которых больше в 2 раза длины слова max длины, заменить на слово min длины
подскажите пожалуйста в чем тут ошибка {Дан текст. Все слова, длина которых больше в 2 раза...

Выбрать из заданной строки все слова, длина которых равна длине первого слова
Напишите программу, выбирающую из заданной строки все слова, длина которых равна длине первого...

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

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

2
6258 / 3559 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
06.01.2014, 21:29 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
34
35
36
37
38
39
40
#ifdef _MSC_VER
    #define _CRT_SECURE_NO_WARNINGS
#endif
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define STR_HELPER(x) #x
#define STR(x) STR_HELPER(x)
 
#define DELIMITERS  "?!.,; \t\r\n"
 
void func(const char *str)
{
    char *p = NULL;
    size_t first_length = 0;
    char *temp = (char*)malloc(sizeof(char) * (strlen(str) + 1));
    strcpy(temp, str);
    p = strtok(temp, DELIMITERS);
    if (p)
    {
        first_length = strlen(p);
        for (p = strtok(NULL, DELIMITERS); p; p = strtok(NULL, DELIMITERS))
            if (strlen(p) > first_length)
                puts(p);
    }
    free(temp);
}
 
int main(void)
{
    char str[BUFSIZ];
    if (scanf("%" STR(BUFSIZ) "[^\n]%*c", str))
    {
        func(str);
        return EXIT_SUCCESS;
    }
    return EXIT_FAILURE;
}
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11653 / 7165 / 1701
Регистрация: 25.07.2009
Сообщений: 13,129
07.01.2014, 00:06 3
Лучший ответ Сообщение было отмечено Марина08 как решение

Решение

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
#include <stdio.h>
#include <string.h>
 
void func(char * s, const char * delim) {
    static int firstWordsLength;
    
    if ( s ) {
        firstWordsLength = strlen(strtok(s, delim));
    }
    else if ( s = strtok(NULL, delim) ) {
        if ( strlen(s) > firstWordsLength )
            printf("%s\n", s);
    }
    else
        return;
    
    func(NULL, delim);
}
 
#define DELIM " \t\n"
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        func(buf, DELIM);
    
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2014, 00:06
Помогаю со студенческими работами здесь

Вывести те слова строки, которые больше длины первого слова.
Дана строка, содержащая более двух слов, между соседними словами – пробел. Вывести те слова строки,...

Удалить из файла все слова, длина которых меньше половины длины самого длинного слова второй строки
Переписать текст в файл output.txt, удалив из него все слова, длина которых меньше половины длины...

Функция выводит на экран все слова заданной длины. Длина слова является параметром функции
Очень прошу помочь с написанием программы! С клавиатуры вводится строка, которая состоит из слов,...

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


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

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

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