1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
1

Создать новую строку по словам введенной строки, которые начинаются с буквы К

21.04.2018, 13:42. Показов 593. Ответов 3
Метки нет (Все метки)

Создать новую строку по словам введенной строки, которые начинаются с буквы К
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2018, 13:42
Ответы с готовыми решениями:

Из введенной строки удалить все слова, которые начинаются с большой буквы и вывести полученную строку
#include <stdio.h> #include <locale.h> #include <math.h> #include <string.h> #include...

Строка: Из строки S создать строку без знаков препинания, состоящую из слов, которые начинаются с большой буквы
Добрый день, помогите пожалуйста с программой, буду очень благодарен. Строка S в которой слова...

Создать новую строку со знаками препинания введенной строки
Создать новую строку со знаками препинания введенной строки,буду благодарен

Из первых букв всех слов введенной строки создать новую строку
С первых букв всех слов введенной строки создать новую строку

3
296 / 227 / 102
Регистрация: 11.08.2016
Сообщений: 780
21.04.2018, 15:59 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
#include <stdio.h>
#include <ctype.h>
 
#define KEYWORD     'K'     //
 
int main(void)
{
    char arr[100];          //
    char arr2[100];         //
    int i2 = 0;
    gets(arr);
    
    for(int i = 0; i < 100 && arr[i] != 0; i++)
    {
        if(isalpha(arr[i]) && ((isspace(arr[i-1]) || i == 0) && arr[i] == KEYWORD))         //если начало слова совпала с искомой буквой
        {
            while(isalpha(arr[i]))      //копируем все слово с последующим знаком
            {
                arr2[i2] = arr[i];
                i2++;
                i++;
            }
            arr2[i2++] = arr[i];
            arr2[i2] = 0;
        }
    }
    
    printf("%s", arr2); 
    return 0;
}
0
1 / 1 / 1
Регистрация: 09.02.2018
Сообщений: 127
21.04.2018, 17:01  [ТС] 3
Можете обьяснить вот это:

C
1
if(isalpha(arr[i]) && ((isspace(arr[i-1]) || i == 0)
C
1
2
3
 arr2[i2] = arr[i];
                i2++;
                i++;
C
1
2
 arr2[i2++] = arr[i];
            arr2[i2] = 0;
0
296 / 227 / 102
Регистрация: 11.08.2016
Сообщений: 780
21.04.2018, 19:06 4
1. Если текущий символ - буква и если предыдущий символ пробел или слово первое в строке .

2. Запись во второй массив , инкремент индексов массивов .

3. Дописываем следующий знак и дописываем 0 в конце строки. если будет следующее слово, то 0 будет перезаписан и установлены после последующего слова.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2018, 19:06
Помогаю со студенческими работами здесь

Из введенной пользователем строки сформировать новую строку, состоящую из гласных букв введенной строки.
Напишите пожалуйста решение!СПАСИБО! Из введенной пользователем строки сформировать новую строку,...

Создать новую строку из символов 1-ой заданной строки, которые не входят во вторую заданную строку
Pascal:Создать новую строку из символов 1-ой заданной строки, которые не входят во вторую заданную...

Посчитать количество слов во введенной строке и найти слова, которые начинаются с буквы t
Суть задания такова... 1-посчитать к-во слов во введенной строке. 2-Найти слова, которые начинаются...

Вывести те строки, которые начинаются с буквы ‘b’
Задача: Вводит ряд строк и выводит те из них, которые начинаются с буквы ‘b’.


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

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

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