Подсчитать сколько раз в тексте встречается каждое слово и удалить то слово, которое встречается чаще всего - C (СИ)

  1. Само задание : Вводим текст и для каждого из слов указать, сколько раз оно встречается в тексте. Слово, чаще всего встречающееся в тексте, удалить. Код Си. Помогите пожалуйста!!


textual

Код к задаче: «Подсчитать сколько раз в тексте встречается каждое слово и удалить то слово, которое встречается чаще всего - C (СИ)»

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define N 1000
 
void slova(char str[]){
    //посчитаем число слов
    size_t i=0;
    size_t colSlov=1;
    for(i=0; i<strlen(str); ++i)
        if(str[i]==' ')
            colSlov++;
            
    //выделим первое слово        
    char* pch[colSlov];
    pch[0] = strtok(str," ,.?!:;");
    printf ("%s\n", pch[0]);
    
    //выделим остальные слова и выведем
    i=1;
    while (i < colSlov)
    {
        pch[i] = strtok (NULL, " ,.?!:;");
        if( pch[i]!=NULL)
            printf ("%s\n", pch[i++]);
    }
    printf("\n");
}
 
int main(void) {
    char A[N];
    puts("Vvedite stroku");
    fgets(A, N , stdin);
    slova(A);
    system("PAUSE");
    return 0;
}

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

15   голосов, оценка 3.800 из 5



Похожие ответы
  1. Задана последовательность из N вещественных чисел. Определить сколько чисел меньше K, равно K и больше K. (массив random )

  1. Строка, содержащая произвольный текст, состоит не более чем из 255 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводиться в грамматически правильной форме, например а — 25 раз, v — 3 раза и т. д

  1. Помогите пожалуйста. Использовать стандартные функции и арифметические операторы; изучить операторы отношения и присваивания, логические операции, условный оператор и оператор-переключатель; научиться использовать в программах операторы цикла. Написать программы на изученные темы. Определить, сколько цифр содержит заданное целое число и имеются ли в нем повторяющиеся цифры.

  1. Нужно узнать сколько бит в числе, оно может быть любым:1-целое положительное(напр 3),2-целое отрицательное(-3),3-число положительное с дробной частью(3.14)4- число отрицательное с дробной частью Пробовала код реализовать школьным способом(деление на два+остаток с целой частью и умножение с дробной) Оказывается, double в бинарном виде записывается по другому...Например 10.5 в бинарном 1010.1=3 единички а вот в бинарном double это будет 0 10000000010 0101000000000000000000000000000000000000000000000000 - уже 4 единички... Обьясните пожалуйста, как реализовать запись числа по (IEEE754 Double precision 64-bit). Почитала про то, как представляются числа с плавающей точкой, но так и не поняла... формула ((-1)^s)*M*N^e,s — знак, N-основание, e — порядок, а M — мантисса... Ну и как мне по этой формуле записать число например 3.5? Или есть ли способ подсчитать число бит в числе?

  1. Написать программу для подсчета суммы мест, на которых в словах текста стоит заданная буква.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include int j, sum,a; char s, c; main() {     printf("Vvedite text", s);     scanf("%d", &s);     printf("vvedite bukvu iz texta", c);     scanf("%d", &c);     sum=0;     printf("mesta na kotorix v slovax stoit eta bukva:");     for(j=1; a=strlen(s);)     {         if(s[j]=c)         sum=sum+j;     printf(j,"");     }   printf(""); printf("summa mest na kotorix stoit eta bukva=", sum); }

  1. Дана символьная строка.Подсчитать сколько раз в ней встречается подслово абба. В строке аббабба это слово встречается 1 раз а должно быть 2(так препод поросил)как это реализовать?. Очень прошу всех помочь.

  1. Дана строка. Определить, сколько раз в нее входит группа букв abc.

  1. Дан одномерный массив А, состоящий из N элементов. Подсчитать максимальное количество подряд идущих отрицательных элементов. Появляется ошибка: Ошибка C2372 x: переопределение; различные типы косвенного обращения.Прошу помощи.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 #include #include   //Дан одномерный массив А, состоящий из N элементов. Подсчитать мак- //симальное количество подряд идущих отрицательных элементов.       int main() {     setlocale(LC_ALL, "Rus"); int n; int * x; printf_s ("Введите кол-во элементов"); scanf_s ("%d",&n); int x[] = {n};   for (int i = 0;i < n; i++) {     printf_s("x[%d", i + 1, " ] = ");     scanf_s("%d",x[i]); } int N = getpos(n, x); if (N <= 0) printf_s("В массиве только положитльные элементы"); else {     printf_s(" Максимальное кол-во отрицательных элементов %d",N);     printf_s("\r\nСейчас программа закроется...\r\n");     scanf_s("%d",&n); } int getpos(int n, int * x); { int i;     int N = 0, M = 0;     for (i = 0; i < n; i++)     {         if (x[i] < 0)             break;     }     if (i < n)     {         while (i < n)         {             while (x[i] < 0)             {                 M++;                 i++;             }             if (N < M)             {                 N = M;                 M = 0;             }             i++;         }     } } system("PAUSE"); return 0 ; }