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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2010, 21:02   #1
Ganez
 
Регистрация: 25.10.2010
Сообщений: 8
По умолчанию Найти количество слов, начинающихся с заданной буквы С.

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

Вот немного набросал, дальше не могу додумать...

Код:
//---------------------------------------------------------------------------
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include<windows.h>
 
        ostream& operator<<(ostream&out,const char*str)
        {
        char s[256];
        CharToOem(str,s);
        for(int i=0;s[i]!=0;i++)
            out<<s[i];
        return out;
        }
 
//---------------------------------------------------------------------------
 
void main()
{
char s[1000];
 
  cout << "Введите строку: ";
  gets(s);
  int a,i,b;
a=0;
b=0;
for (i=0;i<strlen(s)-1;i++)
 if ((s[i]==' ') && (s[i+1]!=' '))
  a=a+1;
if (s[0]!=' ')
    a=a+1;
cout<<"В веденной строке "<<a<<" слов"<<endl;
cout<<"А что дальше?.... ";
getch();
}
помогите если сможите...
Ganez вне форума Ответить с цитированием
Старый 25.10.2010, 23:38   #2
Xeonc
Форумчанин
 
Регистрация: 20.10.2010
Сообщений: 143
По умолчанию

Я бы посоветовал так, пробежаться по строке, как по массиву символов, когда натыкаешься на пробел - смотришь следующий символ, если следующий символ и есть С - плюсуешь счетчик ну и тд.
451 -870-7(три)6. Выполняю работы на заказ, гарант честности - ВМ аттестат с 60+ БЛ без претензий
Xeonc вне форума Ответить с цитированием
Старый 26.10.2010, 20:55   #3
Ganez
 
Регистрация: 25.10.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Xeonc Посмотреть сообщение
Я бы посоветовал так, пробежаться по строке, как по массиву символов, когда натыкаешься на пробел - смотришь следующий символ, если следующий символ и есть С - плюсуешь счетчик ну и тд.
А как это реализовать мне?

if( (st[i]==' ') && (st[i+1]=='C')..

что то типа такого? или не то...
Ganez вне форума Ответить с цитированием
Старый 27.10.2010, 19:48   #4
__Demon__
Пользователь
 
Аватар для __Demon__
 
Регистрация: 13.08.2009
Сообщений: 37
По умолчанию

Предлагаю следующую функцию:
Код:
// функция подсчёта
// Аргументы: input - где искать
//                 с - что искать
int find(char *input, char c)
{
	int count = 0; // счётчик

	char *ptr = strtok_s(input, " ", &input); // Получаем первую лексему

	while (ptr) // пока имеются лексемы
	{
		if (*ptr == c) // Если лексема начинается с искомого символа
			count++; // Увеличит счётчик

		ptr = strtok_s(0, " ", &input); // Получить следующую лексему
	}

	return count;
}
__Demon__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# вывести количество слов начинающихся гласной TRAY Помощь студентам 6 15.06.2010 18:51
Найти количество слов, содержащих цифры to-ot Фриланс 11 16.04.2010 17:56
Определить количество слов, начинающихся и заканчивающихся одной буквой не используя тип string Alenka_91 Общие вопросы C/C++ 5 16.12.2009 10:05
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" Mashaa Помощь студентам 13 09.12.2009 13:28
В заданной строке символов заменить все первые буквы слов на заглавные NV-salt Общие вопросы C/C++ 4 05.04.2009 18:41