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

строки и вхождения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обмен данными между процессами в консольных приложениях http://www.cyberforum.ru/cpp-beginners/thread773083.html
Привет. Можно ли как - то обмениваться данными между двумя запущенными консольными приложениями без WinAPI и без использования файлов (тоесть можно данные записать в файл и другим приложением считать, так не надо)
C++ построить график функции в коде выдает ошибку, помогите ее исправить. и как сделать по такому же принципу график y=2tg*ctg2x ? http://www.cyberforum.ru/cpp-beginners/thread773080.html
поиск подстроки между разделителями C++
нужна помощь :) есть строка " 00.00 Name: TEXT' name...] " мне нужно получить из этой строки TEXT искал в интернете, но там векторы и т.п, я не знаю как с ними работать, есть ли вариант более простой? (установлен boost , может быть оттуда что-нибудь можно использовать)
C++ Пирамида из символов 'X'
При помощи цикла for изобразите на экране пирамиду из символов 'X'. X XXX XXXXX XXXXXXX XXXXXXXXX Одним из способов ее построения может служить использование двух вложенных циклов, из которых внутренний будет заниматься печатанием символов 'X' и пробелов, а другой осуществлять переход на одну строку вниз.
C++ Проверка полиндрома http://www.cyberforum.ru/cpp-beginners/thread773058.html
Ребята, у меня затык. Нужно написать простенькую прогу, которая предлагает ввести слово. Потом это слово попадает в функцию, которая проверяет его, и если слово полиндром, то, соответственно возвращается истина. Так вот, с функцией у меня что-то не так, и как только слово передается, сразу же все крашится :(. Не могу понять почему. З.Ы.: Верхний регистр и пунктуация здесь не учитываются. Вот...
C++ восстановить программу из блок схемы Доброго времени суток! Мне задали задачку, восстановить программу из блок схемы,ума не приложу как это сделать. задание во вкладке.Подскажите как сделать подробнее

Показать сообщение отдельно
MadBittern
 Аватар для MadBittern
6 / 6 / 1
Регистрация: 12.11.2012
Сообщений: 190
27.01.2013, 21:08     строки и вхождения
доброго времени суток всем! не обессудьте но снова зашел в тупик мож кто поможет:
7.Даны две строки, содержащие не более 100 символов. Строки состоят из слов, разделенных пробелами.
Определить самое длинное слово в каждой строке и подсчитать количество его вхождений.

реализовал нахождение самого длинного слова в каждой строке, а вот с подсчетом его вхождения не как не получается, уже все перепробовал или прога вообще отказывается компилироваться или после ввода строк критует так что приходится комп перезагружать.

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
/*7.  Даны две строки, содержащие не более 100 символов. Строки состоят из слов, разделенных пробелами. 
Определить самое длинное слово в каждой строке и подсчитать количество его вхождений.*/
#include <iostream>
#include <windows.h>
#include <cstring>
#include <fstream>
using namespace std;
void entry();
int main()
{
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
    char string1[101], string2[101];
    size_t cnt = 0;
    
    cout << "Введите первую строку:\n";
    cin.getline(string1,101);
    cout << "Введите вторую строкe:\n";
    cin.getline(string2,101);
     
    char * pch1 = strtok (string1," "),  // получаем первое слово
         * word1 = 0; // самое длинное слово
 
    int length1 = strlen(pch1);          // определяем длинну первого слова
 
    int maxLen1 = 0; // самое длинное слово
 
      while (pch1 != NULL)                         // пока есть слова
      {
          length1 = strlen(pch1);        // определяем длинну слова
 
          if (maxLen1 < length1 )        // определяем самое длинное слово
          {
              maxLen1 = length1;
              word1 = pch1;              // сохраняем указатель на текущее слово
          }
 
          pch1 = strtok (NULL, " "); // получаем следующее слово
      }
       
      cout << "Самое длинное слово в первой строке: " << word1
           << " , его длина равна: " << maxLen1
           << " символов " <<"Количество вхождений: " <<  endl;
 
      /*проводим аналогичные действия со второй строкой*/
      char * pch2 = strtok (string2," "), * word2 = 0; 
    int length2 = strlen(pch2);          
 
    int maxLen2 = 0; 
 
      while (pch2 != NULL)                         
      {
          length2 = strlen(pch2);        
 
          if (maxLen2 < length2 )       
          {
              maxLen2 = length2;
              word2 = pch2;              
          }
 
          pch2 = strtok (NULL, " "); 
      }
      
      cout << "Самое длинное слово во второй строке: " << word2
           << " , его длина равна: " << maxLen2
           << " символов" <<"Количество вхождений: " <<  endl;
      system("Pause");
 
    return 0;
}
подсчет вхождений пробовал реализовать через этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int const la = strlen(a);
        int const lb = strlen(b);
        cout << "Строка: [" << b << "] \n";
        for(int i =0 ; i < la; i++){
                char tmp[S] = "";
                k=0;
                if(a[i] == b[0]){
                    int j = i;
                    while(a[j] == b[k]){
                        tmp[k] = a[j];
                        j++; k++;
                    }
                    if(!(strcmp(b,tmp)))cnt++;
                }
        }
применял его при выполнении лаб для нахождения вхождений одной строки в другую, соответственно сейчас заменяю все переменные на те что использую в задачи,но не чего не выходит((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru