Найти количество двух определённых слов в тексте - C (СИ)

  1. Помогите, пожалуйста, переделать код. Завтра уже сдавать надо. Мне надо найти кол-во 2 определённых слов в тексте. ( например up и cat)C1 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 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> void main()   { int len, count; char s[80], word[20],        *p,        *start;   puts ( "Vvedite predlogenie:/n" ); gets ( s ); puts ( "Vvedire slovo dlya poiska" ); gets ( word ); len = strlen ( word ); count = 0; start = s; while ( 1 ) {   p = strstr (start, word);   if ( p == NULL ) break;   count ++;   start = p + len;      }   printf ( "V etom preglogenii %d slov %s", count, word );   }


textual

Код к задаче: «Найти количество двух определённых слов в тексте - C (СИ)»

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
 
#define STRL 80
#define WRDL 30
 
void main()
{
   int len, count;
   char str[STRL], word[WRDL], *wp, *sp, *ptr;
 
   puts ( "Vvedite predlogenie:/n" );
   gets ( str);
   puts ( "Vvedite dva slova dlya poiska" );
   gets ( word);
 
   wp = strtok(word, " ,.!?");
   sp = str;
   count = 0;
   while ((ptr = strstr(sp, wp)) != NULL) {
      sp = ++ptr;
      count++;
   }
   if (count)
      printf("V etom predlogenii %d slov %s\n", count, wp);
 
   wp = strtok(NULL, " ,.!?");
   sp = str;
   count = 0;
   while ((ptr = strstr(sp, wp)) != NULL) {
      sp = ++ptr;
      count++;
   }
   if (count)
      printf("V etom predlogenii %d slov %s\n", count, wp);
}

СДЕЛАЙТЕ РЕПОСТ

7   голосов, оценка 3.714 из 5



Похожие ответы
  1. Нужно что бы он считал количество заглавных буквC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include #include #include #include void main() {     char s[250];     int i, kol = 0, kol1 = 0, j;     puts("Enter string");     fgets(s, 250, stdin); ("%s", s);     i = 0;     j = 0;     for (i = 0; i

  1. C1 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 #include   double sum2d(int a, int b, const double  mass[a][b]);   int main(void) {     const int YEARS = 5;     const int MONTHS = 12;     const float rain[YEARS][MONTHS] =     {         { 4.3, 4.3, 4.3, 3.0, 2.0, 1.2, 0.2, 0.2, 0.4, 2.4, 3.5, 6.6 },         { 8.5, 8.2, 1.2, 1.6, 2.4, 0.5, 2.0, 9.0, 3.0, 9.1, 4.7, 3.0 },         { 9.1, 8.5, 6.7, 4.3, 2.1, 0.8, 0.2, 0.2, 1.1, 2.3, 6.1, 8.4 },         { 7.2, 9.9, 8.4, 3.3, 1.2, 0.8, 0.4, 0.0, 0.6, 1.7, 4.3, 6.2 },         { 7.6, 5.6, 3.8, 2.8, 3.8, 0.2, 0.0, 0.0, 0.0, 1.3, 2.6, 5.2 },     };       printf("Среднегодовое количество осадков за 5 лет = %f",sum2d(YEARS, MONTHS, rain[YEARS][MONTHS])/YEARS); return 0; }   double sum2d(int a, int b, const double  mass[a][b]) {     int i, j;     int total;     double **pt;     **pt = mass[0][0];       for (i = 0; i < a; ++i)     {         for(j = 0; j < b; ++j)         {             total+=**pt;             ++pt;         }     } return total; }При компиляции помимо куци предупреждений выдается следующие ошибки: rain.c:20:2: error: incompatible type for argument 3 of ‘sum2d’ printf("Среднегодовое количество осадков за 5 лет = %f",sum2d(YEARS, MONTHS, rain[YEARS][MONTHS])/YEARS); ^ rain.c:3:8: note: expected ‘const double (*)[(sizetype)(b)]’ but argument is of type ‘float’ double sum2d(int a, int b, const double mass[a][b]);Добавлено через 23 секунды по заданию считать нужно с применением указателей.

  1. Решить эту задачу используя простейшие структуры данных Определить количество слов, у которых первый и последний симво-лы совпадают между собой.

  1. Заполнить одномерный массив случайными числами. Вывести на экран все элементы массива, являющимся двухзначными числами. Буду благодарен)))

  1. Я написала программу с двумя элементами ввода массивов, но результат выводит не неверный и после выбора ручного ввода программа вылетает. Помогите пожалуйстаC1 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 #include #include #include #include #include #include #define N 500 #define MIN 80 int main(void) { setlocale (0, "rus"); int a[N],n,i, min=a[0], nummin=0, sum=0, nol=0, k; srand((unsigned)time(NULL)); printf ( " Определите характер заполнения: 1- автоматическое, 2- вручную"); printf("\n"); scanf("%d",&k);   switch(k) { case 1: { printf("vvedite n - "); scanf("%d",&n); for (i=0; ia[i])           {               printf("\n");               min=a[i];              nummin=i;}         for (i=nummin+1; i

  1. как обявить масим если заранее не известно сколько там будет значений?? СПС!

  1. Задача Описать функцию или процедуру, которая находит сумму последнего и предпоследнего элементов списка, содержащего не менее двух элементов (тип=целочисленный). C1 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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 #include #include #include     struct TNode {                       int n;       TNode *next;     }  *start , *last ;      void funkt1 (int m ) {              TNode *p;      while (m!=0) {        if (start==NULL) {              start= new TNode;        start->n=random(100);        start->next=NULL;        last=start;        printf(" %d ",start->n);        }        else {                          p= new TNode;        p->n=random(100);        p->next=NULL;        last->next=p;        last=p;        printf(" %d ",p->n);        }         m--;       }     return  ;    }    void funkt2 () {          int S=0;    TNode *f;    f=start;    while ((f->next)->next!=NULL)     f=f->next;    S= f->n + (f->next)->n ;       printf("\n S=%d ",S);   return ;   }   int main() {    randomize ();    clrscr ();    int L;    printf("vvedute kol-vo elementov : ");  scanf("%d",&L);    funkt1 (L);    funkt2 ();    getch();   return 0 ;   }

  1. Помогите, пожалуйста, только начал изучать язык, нашел в сборнике задач для паскаля такое задание : Во введенной пользователем строке посчитать количество букв «а» и «о» вывести их число на экран. Как его правильно выполнить?