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

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

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

Словом считать любую последовательность, содержащую только русские и латинские буквы. Разделители между слова - C++

16.10.2016, 10:13. Просмотров 150. Ответов 1
Метки нет (Все метки)

Помогите написать программу
Условие: Преобразовать исходную строку, приводя все слова к заданной длине следующим образом: если длина слова меньше заданной, дополнить его последней буквой, а если больше - обрезать.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2016, 10:13     Словом считать любую последовательность, содержащую только русские и латинские буквы. Разделители между слова
Посмотрите здесь:

Строки (вывести все слова, содержащие только латинские буквы) - C++
Здравствуйте, нужно вывести все слова, содержащие только латинские буквы. Задаётся последовательность, в которой слова разделены запятыми,...

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

Поменять все буквы а на a (русские на латинские) и к на k - C++
Вводят 2 текста. Сравнить их, объединить, вывести все пробелы, точки, запятые, двоеточия. Затем вывести размер каждого текста и общий...

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

Во введенной строке заменить все гласные латинские буквы на русские соответственно - C++
У меня установлен Borldand C++ Builder Dos Box. Как в нем ввести русский алфавит в консоле!?Язык на компьютере меняется,а в нем нет. ...

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

Считать 2 слова из файла через пробел и сравнить их со словом No или Yes - C++
В файле input.txt записаны два слова через пробел. "Yes" и "No". Нужно считать их из этого файла, затем если s1, первое слово "Yes", и...

Найти все слова, содержащие латинские буквы (a, e, i, o, u) - C++
Задан текст. Найти все слова, содержащие латинские буквы (a, e, i, o, u). Напечатать эти слова в порядке увеличения количества букв (a, e,...

Между соседними словами – запятая, за последним словом – точка. Создать новый файл, содержащий все слова, отличные от последнего слова - C++
Плиз помогите кто может в простом коде: Дан текстовый файл, содержащий последовательность слов. Между соседними словами – запятая, за...

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

Напечатать те латинские буквы, которые входят только в одну из трех заданных строк - C++
Для заданных трех строк S1, S2 и S3 напечатать те латинские буквы, которые входят только в одну из этих строк. с++

Напечатать только строчные русские буквы, входящие в текст - C++
Ребят помогите пожалуйста с задачкой: Дан текст из 60 литер. Напечатать только строчные русские буквы, входящие в этот текст. Код на си++....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Invader0x7F
Helper C/C++
281 / 158 / 61
Регистрация: 22.09.2016
Сообщений: 519
Завершенные тесты: 5
16.10.2016, 11: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
33
34
35
36
37
38
39
40
41
42
#include <iostream>
 
using namespace std;
 
int main()
{
    int len = 5;
    char str[256] = "one two three foourr five six seven eight nine tennnnnnn\0";
 
    std::cout << "input = " << str << endl;
 
    for (int index = 0; str[index] != '\0'; index++)
        if (str[index] == ' ' || index == strlen(str) - 1)
        {
            int nindex = index != strlen(str) - 1 ? index - 1 : index;
            while (str[nindex] != ' ' && nindex >= 0)
                nindex--;
 
            int wlen = std::abs(index - (index != strlen(str) - 1 ? nindex + 1 : nindex));
            int diff = std::abs(wlen - len); int n_pos = diff + 1;
            while (wlen < len && --diff >= 0)
            {
                int rindex = strlen(str) - 1;
                while (rindex >= index - 1)
                    str[rindex + 1] = str[rindex--];
            }
 
            index += (wlen < len) ? n_pos : 0;
 
            while (wlen > len && --diff >= 0)
            {
                int rindex = std::abs(index - n_pos) + 1;
                while (str[rindex] != '\0')
                    str[rindex++] = str[rindex + 1];
            }
        }
 
    std::cout << "output = " << str << endl;
 
    std::cin.get();
    std::cin.get();
}
Миниатюры
Словом считать любую последовательность, содержащую только русские и латинские буквы. Разделители между слова  
Ответ Создать тему
Опции темы

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