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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.03.2011, 19:46   #1
Simak63
 
Регистрация: 30.03.2011
Сообщений: 7
Сообщение В чём ошибка?

Определить количество предложений, учитывая, что предложение заканчивается точкой, вопросительным или восклицательным знаками

Вот мой код


#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define RAZD " .,;:\n\t?!/\\"

int Check(char *s)
{
int i;
i=0;
if ((s[i]=='.')||(s[i]=='?')||(s[i]=='!'))
return 1;
else
return 0;
}

int main ()
{
char *s;
int n,i,j=0;
fgets(s,i,stdin);
n=strlen(s);
for(i=0;i<n;i++)
if (strchr(RAZD,s[i]))
s[i]='\0';
i=0;
while(i<n)
{
while (i<n && s[i]=='\0')
i++;
if (Check(s))
{
puts(s);
j++;
}
while (i<n && s[i]!='\0')
i++;
}
printf("%d",j);
getchar();
getchar();
return 0;
}


Что то не выходит
Simak63 вне форума
Старый 30.03.2011, 20:04   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Код:
	char dels[]="!?.";
	char str[] ="qweqweqweqweqwe. qwrwerwerwe? egw gwergerg. segwegw!";

	int count=0;
	char *p=str;
	while (*p) {
		if (strchr(dels,*p++)) 
			count++;
	}

	printf("%d\n",count);
onewho вне форума
Старый 30.03.2011, 20:04   #3
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

ёпрст!, зачем так сложно?
Код:
...
k = 0;
while ((ch=getchar())!='\n')
{
  if ((ch=='.')||(ch=='?')||(ch=='!'))k++;
}cout<<k;
...
добавленно
запоздал с ответом

Последний раз редактировалось Летучий_СкилетиК; 30.03.2011 в 20:07.
Летучий_СкилетиК вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём ошибка? Roman Общие вопросы C/C++ 2 24.12.2008 01:42
В чём ошибка??? pasha_1 Общие вопросы C/C++ 11 25.11.2008 01:26