Форум программистов, компьютерный форум CyberForum.ru

Строки. Определить , сколько раз встречается в ней самое длинное слово - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычисление функции с разложением в ряд Тейлора http://www.cyberforum.ru/cpp-beginners/thread746178.html
Вычислить и вывести на экран в виде таблицы, значения функции, заданной с помощью ряда Тейлора, на интервале от Xнач до Xкон с шагом dx с точностью ε. Таблицу обеспечить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество суммированных членов ряда. Вот попробовал, но не понимаю! Помогите составить верный алгоритм #include "iostream"...
C++ Прочитать файл в обратном порядке т.е. встать в конец файла и прочитать до начальной позиции подскажите пожалуйста как можно прочитать файл в обратном порядке т.е. стать в конец файла и прочитать до начальной позиции? http://www.cyberforum.ru/cpp-beginners/thread746172.html
Двунаправленная очередь C++
кто-нибудь может помочь?... не могу никак сделать...%-) Вот задание: Реализуйте двунаправленную очередь как класс. Используя механизм наследования, реализуйте на базе очереди программу контроля автобусного парка. Программа должна содержать две базы данных с полями «Номер автобуса», «Водитель», «Номер маршрута». Первая база данных контролирует автобусы, находящиеся в данный момент в гараже,...
C++ Скатывание шарика
Изобразите скатывание шарика по кривой, заданной уравнением y = sin2(x)+2 на интервале . Как только шарик достигает конца кривой, он начинает двигаться в обратном направлении. Программа останавливается, если нажата клавиша Esc. Помогите ребята) завтра сдавать не успеваю)
C++ Оцените программу: Интерполяция через полином Лагранжа и через сокращённую формулу Ньютона http://www.cyberforum.ru/cpp-beginners/thread746143.html
Выкладываю программу интерполяции: -интерполирование через полином Лагранжа; -интерполирование через сокращённую формулу Ньютона. Обе формулы есть на Вики Выставляю на ваш суд. Принимаю предложения по улучшению. #include <iostream> #include <Windows.h> // Подключаем 2 библиотеки для русификации программы #include <iomanip.h> // Вторая библиотека
C++ Построить график функции Постройте график функции y = sin2(x)+2 на интервале . Обозначьте оси координат, нарисуйте координатную сетку, укажите цены делений и пределы изменения координат x и y. Оси координат нарисуйте черным цветом, координатную сетку – серым, а график функции – красным. Помогите ребята) тут пацан просил помочь ему) а тут какая то непонятность сам пишу на C# а с C++ не могу что то разобрать в VS) подробнее

Показать сообщение отдельно
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
28.12.2012, 18:00     Строки. Определить , сколько раз встречается в ней самое длинное слово
C++
1
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
 
int main()
{
 int i;
 int word_length;
 int max_word_length;
 int begin_index;
 int max_begin_index;
 int q;
 int j;
 int k;
 
 char* t = "дана строка содержащий текст на русском языке. определить , сколько раз встречается в ней самое длинное слово.заранее спасибо!";
 
 max_word_length = 0;
 word_length = 0;
 q = 0;
 
 for(i=0;i<strlen(t);i++)
 {
   switch(t[i])
   {
     case '.':
     case ',':
     case ' ':
      if (word_length > max_word_length)
      {
        max_word_length = word_length;
        max_begin_index = begin_index;
      }
      word_length = 0;
      break;
     default:
      if (word_length == 0)
        begin_index = i;
      word_length++;
      break;
   }
 }
 printf("\n");
 
 printf("max_begin_index: %d \n",max_begin_index);
 printf("max_word_length: %d \n",max_word_length);
 
 for(i=0;i<strlen(t);i++)
 {
   switch(t[i])
   {
     case '.':
     case ',':
     case ' ':
      if (word_length == max_word_length)
      {
        // сравниваем строки
        for(j = begin_index, k = max_begin_index ;
            (t[j] == t[k]) && (j < begin_index + max_word_length);
            j++, k++)
          ;
 
        if (j == begin_index + max_word_length)
         q++;
      }
      word_length = 0;
      break;
     default:
      if (word_length == 0)
        begin_index = i;
      word_length++;
      break;
   }
 
 }
 printf("q: %d \n", q);
 
 return 0;
}
 
Текущее время: 06:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru