Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2013, 21:32   #1
Кулибаба Петро
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 31
Сообщение Работа со строками. Определить количество слов, которые содержат ровно три буквы «А».

Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно три буквы «А».
Кулибаба Петро вне форума Ответить с цитированием
Старый 16.01.2013, 22:33   #2
denrubun
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 82
По умолчанию

ну и в чем проблема?
вводите по слову
ищите в слове букву А
если находите, снова ищите букву А начиная со следующей позиции.
и так же еще раз
три раза нашли - плюсуйте счетчик
denrubun вне форума Ответить с цитированием
Старый 16.01.2013, 22:39   #3
Кулибаба Петро
Пользователь
 
Регистрация: 23.04.2012
Сообщений: 31
По умолчанию

я сделал так
Код:
//-------------------------------------------------------------------------
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
int main()
{
char s[50];
int i;
int k=0;

cout<<"Vvedit rjadok: ";
cin>>s;
for (i=1; i<=50; i++)
{
if (s[i]=='а') k=k+1;
if (s[i]==' ') k=0;
}
cout<<"Kilkist sliv z bukvou 'a' yaka zustrichaetsa 3 raza: "<<k;;
getch();
return 0;
}
//-------------------------------------------------------------------------
Кулибаба Петро вне форума Ответить с цитированием
Старый 16.01.2013, 22:57   #4
denrubun
Пользователь
 
Регистрация: 24.12.2012
Сообщений: 82
По умолчанию

for (i=1; i<=50; i++) исправить на for (i=0; i<50; i++), это не паскаль

if (s[i]==' ') k=0; этим вы загубите весь результат

Код:
if (s[i]==' '){     //значит слово кончилось
     if(k==3)      //если это нужное нам слово
          count++;
     k=0;
}
cout << count << endl;   //count - это как раз количество слов, а k - количество
                                //букв "а" в последнем слове, выводить его бессмысленно
п.с. библиотеки vcl и conio не нужны
denrubun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В строке определить количество слов, которые содержат букву «а» (Delphi) Dark Raven Помощь студентам 2 19.01.2012 16:56
Как определить количество слов, которые содержат ровно три буквы JegorX Паскаль, Turbo Pascal, PascalABC.NET 1 15.11.2011 15:52
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" Mashaa Помощь студентам 13 09.12.2009 13:28
Дана строка символов до точки. Определить, сколько слов содержат ровно три буквы "К". Evidence Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 20:40