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

Определить количество слов текста, в которых первый и последний символы совпадают

10.04.2013, 23:31. Показов 2580. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая:
• Выводит текст на экран дисплея;
• По нажатию произвольной клавиши поочередно выделяет каждое из слов текста, в которых первый и последний символы совпадают;
• Определяет количество слов текста, в которых первый и последний символы совпадают.

Вот то написал, а дальше как не знаю помогите доделать =) Она считает только кол-во символов.

текст программы

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
#include <stdio.h>
#include <conio.h>
 
int main()
{
FILE *fstream;
char first_ch = ' ', last_ch = '\0', tmp_ch;
int count = 0;
 
fstream = fopen("file.txt", "r");
if (!fstream)
{
printf("File error\n");
getch();
return 1;
}
printf("Soderjimoe faila\n");
printf("-------------------------------\n");
while ((tmp_ch = fgetc(fstream)) != EOF)
{
printf("%c", tmp_ch);
if (first_ch == ' ' || first_ch == '\n')
first_ch = tmp_ch;
else
{
if (tmp_ch == ' ' || tmp_ch == '\n')
{
if (first_ch == last_ch)
{
count++;
}
first_ch = tmp_ch;
}
else if (last_ch == ' ' || last_ch == '\n')
{
first_ch = tmp_ch;
}
else
last_ch = tmp_ch;
}
}
printf("-------------------------------\n");
printf("Kolichestvo slov s odinakovymi pervoi i poslednei bukvami %i\n", count);
getch();
return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.04.2013, 23:31
Ответы с готовыми решениями:

Определить количество слов, у которых первый и последний символы совпадают
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; using namespace std; int num_symbol(string &amp;_str){ int...

вывод текста, определение количество слов в тексте, у которых первый и последний символы совпадают.
Здравствуйте. Прошу пожалуйста мне помочь с написанием этой программы. Всем за ранее огромное спасибо! Вы спасёте мне жизнь. =) ...

Определить количество слов в тексте, у которых первый и последний символы совпадают между собой
программа с использованием текстовых данных, файлов ввода/ вывода Помогите выполнить задание Определить количество таких слов в...

8
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
10.04.2013, 23:55
Какие инструменты разрешено использовать? Можно ли читить?

При "стандартных условиях" (используя только поток ввода/вывода) такое сделать нельзя без чита:
1. Прочитали и сохранили текст.
2. Вывели не "выделенный" текст.
3. Прочитали инпут. "Простым" перебором нашли нужные слова. Отметили их.
4. "Стерли" весь текст.
5. Заново вывели текст и если слово отмечено, то с помощью ескейп последовательностей разукрасили его.
6. ...

п.с. Чит в том, что мы не разукрашиваем текущий, а выводим новый разукрашенный (при этом если проскролить в верх то получим старый)
0
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 8
11.04.2013, 11:07  [ТС]
Я делал похожую программу но только выделял слова которые начинаются на гласную букву, нормально вышло, но здесь не пойму.
Вот программа для выделения гласной буквы:

Программа выделения слов с гласными буквами
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
#include<iostream>
#include<windows.h>
#include<cstdlib>
#include<fstream>
#include<string>
#include<conio.h>
using namespace std;
CONSOLE_SCREEN_BUFFER_INFO csbi;
HANDLE consoleOutput;
COORD CurPos;
 
void Set_XY(int X, int Y);
void glasnost();
 
int main()
{
setlocale(0,"rus");
string word;
consoleOutput=GetStdHandle(STD_OUTPUT_HANDLE);
ifstream in1("Messi.txt"); //Создаем файловый поток.
while(in1>>word)// Передаем слова изфайла в строку.
cout<<word<<" ";//Выводим слова изфайла.
cout<<endl;
in1.close();//Закрываем поток.
glasnost();//Вызов функции, которая выделяет нужные слова.
system ("pause");
return 0;
}
void Set_XY(int X, int Y)//Функция, выставляющая курсор по координатам ХY.
{
CurPos. X=X; CurPos. Y=Y;
SetConsoleCursorPosition(consoleOutput, CurPos);
}
void glasnost()//Функция, выделяющая слова, которыеначинаются на гласную.
{
string word;
ifstream in("Messi.txt");
string glas="аоуеёияэыюАОУЕЁИЯЭЫЮ";//Гласные.
string znaki=",.!?;:'\|/({[*&^%$#@!№]})><";//Знаки.
int x=0, y=0;
int k=0;//Счетчик.
SetConsoleTextAttribute(consoleOutput,79);//Изменяем атрибуты вывода.
while (in>>word)
{
for(int i=0;i<glas.size();i++)//Поиск и выделениеслов.
if(word[0]==glas[i])
{
getch();
 
Set_XY(x,y);
cout<<word;
k++;
}
for(int i=0;i<znaki.size();i++)//Поиск и выделение слов.
if (word[word.size()-1]==znaki[i])
for(int i=0;i<glas.size();i++)
if (word[0]==glas[i])
{
getch();
word.erase(word.size()-1,1);
Set_XY(x,y);
cout<<word;
word=word+" ";
k++;//Количество слов.
}
x=x+word.size()+1;//Счетчик координат Х.
if(x>=80) {x=x-80; y++;}//Счетчик координат Y.
}
Set_XY(x,y);
SetConsoleTextAttribute(consoleOutput,7);//
cout<<endl;
cout<<"Количество слов которые начинаются на гласную = "<<k<<endl;
}
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
11.04.2013, 13:42
Я с утра прочитал внимательно условие. И ключевым для меня было: "По нажатию произвольной клавиши".
Я думаю, что задача требует:
1. Прочитать файл. Сохранить строки.
2. Подождать приглашения к работе.
4. Вывести все строки в которых: str[0] == str[str.length() - 1]. Подсчитывать при выводе.
5. Вывести количество выведенных строк.
6. Завершить работу.

Т.е. от вас не требуется манипуляция с консолью и/или ее цветом.
0
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 8
11.04.2013, 21:47  [ТС]
Цитата Сообщение от stima Посмотреть сообщение
Я с утра прочитал внимательно условие. И ключевым для меня было: "По нажатию произвольной клавиши".
Я думаю, что задача требует:
1. Прочитать файл. Сохранить строки.
2. Подождать приглашения к работе.
4. Вывести все строки в которых: str[0] == str[str.length() - 1]. Подсчитывать при выводе.
5. Вывести количество выведенных строк.
6. Завершить работу.

Т.е. от вас не требуется манипуляция с консолью и/или ее цветом.
Ну цветом нужно выделить препод говорит. Так что я скинул код "Выделение слов которые начинаются с гласной" можно легко переделать на тот что мне нужно? Вот я не могу понять как его подредактировать.
0
2 / 2 / 1
Регистрация: 11.04.2013
Сообщений: 55
11.04.2013, 21:49
Какой то мне пока не понятный и недоступный код...можно как то "по детски" написать?
0
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 8
11.04.2013, 22:04  [ТС]
Цитата Сообщение от Exiss Посмотреть сообщение
Какой то мне пока не понятный и недоступный код...можно как то "по детски" написать?
Тот что я скинул где выделяет гласные буквы, он не сильно и сложны вроде.
0
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 8
16.04.2013, 00:39  [ТС]
C++
1
2
3
4
for(int i=0;i<znaki.size();i++)//Поиск и выделение слов.
if (word[word.size()-1]==znaki[i])
for(int i=0;i<glas.size();i++)
if (word[0]==glas[i])
В этом куске так я понял нужно как-то приравнять начало и конец слова.
0
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 8
20.04.2013, 18:30  [ТС]
Так что кто-то знает как делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2013, 18:30
Помогаю со студенческими работами здесь

Дана строка символов. Определить количество слов, у которых первый и последний символы совпадают между собой.
Собственно само задание. 2)Дана строка символов. Определить количество слов, у которых первый и последний символы совпадают между...

Найти количество слов, у которых первый и последний символы совпадают между собой
Дан текст. а) Найти количество слов, начинающихся с буквы б; б) Найти количество слов, у которых первый и последний символы совпадают между...

Найти количество слов, у которых первый и последний символы совпадают между собой.
Даны натуральное число n, символы s1,...,sn. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри...

Найти количество слов, у которых первый и последний символы совпадают между собой
Помогите пожалуйста написать программу, никак разобраться не могу(

Символьные строки: найти количество слов, у которых первый и последний символы совпадают между собой
Дана строка из N симво-лов. Группы символов, разделенные пробелами (одним или несколькими) и не со-держащие пробелов внутри себя, будем...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru