1

Тема: Символьні дані

Завдання Вивести ті слова рядка, довжина яких більше 7-ми


#include <iostream>

int main()
{
    setlocale(LC_ALL, "ukr");
  
    char string[100];
    puts("Введіть рядок довжина слів повинна бути більше 7-ми");
    gets_s(string);
    
    
    for (int i = 0; string[i] != '\0'; i++)
    {
        
        if (i > 7)
            string[i]++;
        
    }
      
        puts(string);
        return 0;
}

Ще пробував рахувати кількість символів через strlen, а потім порінювати у циклі, але не виходило.
Як це зробити

2

Re: Символьні дані

Зараз програма нічого не робить з першими восьмома символами рядка й збільшує на одиницю всі наступні символи ('A'=>'B', 'c'=>'d', '1'=>'2' і т.п.). Що, очевидно, нісенітниця.

Що можна зробити. Крім лічильника симвлів рядка, має бути ще дві змінні: лічильник символів слова та початок слова. Коли поточний символ рядка — пробіл (а також нуль-символ), це вказує на розрив між словами: якщо слово мало довжину більше 7, треба вивести стільки символів, починаючи з початку слова, скільки вказано в лічильнику, після чого лічильник символів слова скидається, а в початок слова записується номер наступного символа. Якщо поточний символ — не пробіл, просто збільшуємо лічильник символів слова.

Подякували: Chemist-i, koala, Bogaty, leofun014

3

Re: Символьні дані

P.Y. написав:

Зараз програма нічого не робить з першими восьмома символами рядка й збільшує на одиницю всі наступні символи ('A'=>'B', 'c'=>'d', '1'=>'2' і т.п.). Що, очевидно, нісенітниця.

Що можна зробити. Крім лічильника симвлів рядка, має бути ще дві змінні: лічильник символів слова та початок слова. Коли поточний символ рядка — пробіл (а також нуль-символ), це вказує на розрив між словами: якщо слово мало довжину більше 7, треба вивести стільки символів, починаючи з початку слова, скільки вказано в лічильнику, після чого лічильник символів слова скидається, а в початок слова записується номер наступного символа. Якщо поточний символ — не пробіл, просто збільшуємо лічильник символів слова.



Дякую за допомогу!