Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Arden
0 / 0 / 0
Регистрация: 22.10.2016
Сообщений: 17
1

Как при выводе на экран игнорировать слова определённой длины?

02.11.2016, 19:07. Просмотров 779. Ответов 3
Метки нет (Все метки)

На вход в программе даётся текст (например "Hello, world! Hi"). Как сделать так, чтобы программа выводила только те слова, в которых кол-во символов больше числа, в значении некой переменной?

Например, в данном случае ("Hello, world! Hi"), при какой-нибудь N = 2, программа бы выводила только "Hello, world!".

P.S: Нельзя использовать string.h
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2016, 19:07
Ответы с готовыми решениями:

Удалить слова определённой длины, если ввод осуществляется при помощи команды getchar
Подскажите как удалить слова определённой длины, если ввод осуществляется при помощи команды...

Найти слова определённой длины
Как заставить это работать !:( Надо найти слова определённой длинны и вывести их. длину вводят с...

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

Как убрать пробел при выводе строки на экран
ЗДРАВСТВУЙТЕ, помогите решить проблему есть такая прога N=7 PRINT "Карта + "; N qbasic...

Как сделать, чтобы при выводе на экран были пробелы
#include <iostream> using namespace std; int main() { int sum = 0, val = 1; while (val <=...

3
IVAN1234
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
02.11.2016, 21:13 2
Лучший ответ Сообщение было отмечено Arden как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void prf(char *s, int n)
{
    int i;
    for(i = 0; i < n ;i++, s++) {
        putchar(*s);
    }
}
int main()
{
    char *s = (char *) malloc(20);
    gets(s);
    int n = 2;
    scanf("%d", &n);
    int z = 0;
    int m = 0;
    while(1) {
        if(ispunct(*s) || isspace(*s) || *s == '\0') {
            z = (m == 0) ? z : z - 1;
            if(z > n) {prf(s-z, z);putchar(*s);}
            z = 0;
            m++;
            if(*s == '\0') break;
        }
        s++;
        z++;
    }
}
1
Arden
0 / 0 / 0
Регистрация: 22.10.2016
Сообщений: 17
03.11.2016, 16:51  [ТС] 3
Благодарю! То, что нужно

Добавлено через 2 часа 58 минут
А можно узнать, почему здесь две функции ввода?
0
IVAN1234
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
03.11.2016, 17:42 4
Arden, одна считывает строку, другая минимальную длину слова.
1
03.11.2016, 17:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2016, 17:42

Как задать количество элементов в строке при выводе на экран?
При выводе массива на экран,чтобы не получалось вот так например,а было ровненькими...

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

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


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

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

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