С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.09.2014
Сообщений: 13

Выдать все слова с удвоенной буквой, заданной с клавиатуры

02.10.2014, 23:32. Показов 1224. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста. Я не знаю как сделать задание, кучу времени сижу ничего не получается.
Задание:
Выдать все слова с удвоенной буквой ( любая буква). букву ввести с клавиатуры. // Текст надо прикрепить самому

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
#include <iostream>
#include <stdio.h>
#include <conio.h>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale (0,"");
    FILE *f;
    f=fopen("Text.txt","r");
    if (!f)
    {   printf("Error open file\n"); 
        return(0);
    }
    char text[10][80], *p;
    int i=0, bukva;
    cout << "введите букву: " ;
    cin >> bukva;
    while (!feof(f)) 
        fgets(text[i],80,f);
        i++; 
    for (i=0; i<11 ; i++)
    {
        p = text[i];    
        while (*p)
 
        if (  *p==bukva && *(p+1)==bukva)
                cout << p;
                p++;
            
                
            
        }   
_getch();
return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2014, 23:32
Ответы с готовыми решениями:

Выдать все слова с удвоенной буквой Ch. Значение Ch ввести с клавиатуры
Помогите я совсем не знаю как это делать, плюс тут нужно файл с текстом цеплять. Задание: Выдать все слова с удвоенной буквой СH ....

Ввести с клавиатуры строку. Выдать на экран все слова из этой строки ...
Помогите сделать 2 задачи на С 1 Ввести с клавиатуры строку. Выдать на экран все слова из этой строки, длина которых отличается...

Заменить слова с заданной буквой на многоточие
Заменить слова с заданной буквой на многоточие Как это сделать? П.5.18.Правил Запрещено размещать задания и решения в виде картинок...

3
 Аватар для EfimKR
57 / 30 / 13
Регистрация: 24.06.2014
Сообщений: 255
Записей в блоге: 1
03.10.2014, 00:30
Вот пример, программа одну букву на 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Программа для замены в слове X всех букв "a" на сочетание "ky". 
#include <string.h>
#include <stdio.h>
void main ()
{
    /* 
        k - переменная для прохода по оригинальному массиву
        i - переменная для прохода по результативному массиву
        n - длина оригинального массива
    */
    int k=0,i=0, n;
    /* 
        x1 - оригинальный массив
        x2 - результативный массив (больше в два раза, на 
            случай, если оригинальный весь заполнен буквами 'a')
        px1 - указатель для перемещения по оригинальному массиву
        px2 - указатель для перемещения по результативному массиву
    */
    char x1[40],x2[80],*px1,*px2;
 
    // Запрос на ввод оригинального массива
    puts( "Enter word (max 39 letters) ");
    gets(x1);
 
    /*
    записываем адреса начала 
    оригинального  и результативного 
    массивов в указатели
    */
    px1 = x1;
    px2 = x2;
 
    /* 
    вычисляем рельную длину
    оригинального массива
    */
    n = strlen(x1)+1;
 
    // цикл поэлементно перебирает
    // оригинальный массив
    while  (k<n)
    {
        // если значение текущего элемента
        // не совпадает с 'a'
        if (*(px1+k)!='a')
        {
            // копируем текущий элемент
            // в результативный массив
            *(px2+i) = *(px1+k);
            // переходим к следующим элементам
            i++;
            k++;
        }
        // если значение текущего элемента
        // совпадает с 'a'
        else
        {
            // записываем символ 'k' в текущую
            // позицию результативного массива
            *(px2+i) = 'k';
            // записываем символ 'y' в следующую
            // позицию результативного массива
            *(px2+i+1) = 'y';
            // переходим к следующему элементу
            // оригинального массива
            k++;
            // "перепрыгиваем" через один элемент
            // результативного массива
            i += 2;
        }
    }
    // демонстрируем результативный массив 
    puts(x2);
}
0
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
03.10.2014, 05:53
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
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
 
using std::cout;
using std::cin;
using std::endl;
 
// делал в vc++ 2100 все работало 
int main()
{SetConsoleCP(1251);
SetConsoleOutputCP(1251);// В первый раз выведет кракозябры поменяй шрифт тут расписанно [url]https://www.cyberforum.ru/cpp-beginners/thread636642.html[/url]
    FILE *f;
    f=fopen("Text.txt","r");
    if (!f)
    {   printf("Error open file\n"); 
 
    system("pause");
        return(0);
    }
    char text[10][80], *p,bukva;
    int i=0;
    cout<<"введите букву:";
   cin.get(bukva);//В отличие от cin примет только первую букву сколько бы мы не ввели это убережет от ошибок
   
   
    while (!feof(f)) 
    {
        fgets(text[i],80,f);
        p = text[i];  
        for (int j=0;j<strlen(text[i]);++j)
        {       if (  *p==bukva && *(p+1)==bukva)
                {
                do
                p--;
                while(*p!=32 && p!=text[0] );// 32 код пробела для vc++
                do
                {
                cout<<*p;
                p++;}
                while(*p!=32 && *p!='\0');
                
                }
        p++;}
           
                
            
        }   
   
_getch();
return 0;
}
я быстренько написал для примера программа черновая, но насколько я ее по тестировал рабочая. Пытайся сам отлаживать программы
. делай их трассировку тогда поймешь логику и сможешь избежать своих ошибок.

Добавлено через 6 минут
C++
1
2
3
4
while (!feof(f)) // если после цикла нет фигурных скобок, то выполниться только 1 действие
        fgets(text[i],80,f);// вот это действие
        i++; // это будет выполнено только после выхода из цикла while и так после него i=0 оно безполезно
    for (i=0; i<11 ; i++)
1
0 / 0 / 0
Регистрация: 11.09.2014
Сообщений: 13
03.10.2014, 19:45  [ТС]
спасибо большое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2014, 19:45
Помогаю со студенческими работами здесь

Считывание текста с клавиатуры и нахождение слова, начинающиеся и заканчивающиеся согласной буквой
#include &lt;iostream&gt; #include &lt;sstream&gt; #include &lt;string&gt; #include &lt;cctype&gt; #include &lt;iterator&gt; int main(){ ...

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

Удалить из слова все буквы, совпадающие с последней буквой.
Помогите решить задачу! Удалите из слова все буквы, совпадающие с последней буквой. Заранее благодарен!

Выдать на печать все слова с заданными номерами
Дан символьный массив, образованный из слов, разделенных пробелами. С использованием процедур и функций выполнить: o Выдать на печать все...

В заданной последовательности слов найдите все слова, начинающиеся с заданной приставки
Люди помогите с задачкой, я пишу на паскале а язык С++ я попросту не знаю...))) В долгу не останусь. Все же надеюсь есть люди добрые))) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru