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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2013, 08:39   #1
dimon198909
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 12
По умолчанию работа со строками

нужно пдстчитать кол-во вхождений a или an в тексте. s1 - текст, s2 - строка содержащая символы а, an
Код:
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <math.h>
#define L 100
char* sl;
char* s2;
char* s4;
int f(char* sl);
int main()
	{char s1[L];
     int kol_the;
	 int kol_a_an;
	 char* s2="a,an";
	 char* s4="the";/*
	 clrscr();*/
 printf ("Введiть текст:\n",L);
 gets_s (s1);
 printf ("\nПочатковий текст програми:\n");
 puts (s1);
 if(strlen (s1)==0 || strlen(s1)>L)
     printf ("ошибка в тексте !!!\n");
 else
 {
      s1[strlen(s1)+1]='\0';
      sl=strtok(s1,s2);
      puts (sl);
      if (sl==0)
	  printf ("текст пустой !!!\n");
      else
	  {
	  kol_a_an=0;
	  while (sl!=0)
	  {
	   kol_a_an=strstr (char *s1, char *s2);
 getch();
	  }
 }
 }
	}

Последний раз редактировалось Stilet; 16.11.2013 в 14:21.
dimon198909 вне форума Ответить с цитированием
Старый 16.11.2013, 08:44   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

В чем вопрос?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 16.11.2013, 14:25   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
    char *s1="Helalo woranld";
    int c=0;
    for(int i=0;s1[i];i++) c+=(s1[i]=='a')?1:0;
     cout << "a="<<c<< endl; 
    for(int i=1;s1[i];i++) c+=(s1[i-1]=='a' && s1[i]=='n')?1:0;
     cout << "an="<<c<< endl;
Годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.11.2013, 10:47   #4
dimon198909
Пользователь
 
Регистрация: 09.11.2013
Сообщений: 12
По умолчанию

спасибо, попробую...
dimon198909 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками (си) CCDD Помощь студентам 1 31.01.2013 12:00
Работа со строками. asmars Общие вопросы C/C++ 2 07.04.2012 10:08
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа со строками DeDoK Общие вопросы Delphi 2 02.02.2010 23:27
Работа со строками, C++ FastDead2 Помощь студентам 0 13.06.2009 00:57