Форум программистов, компьютерный форум 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++ восстановить программу из блок схемы Доброго времени суток! Мне задали задачку, восстановить программу из блок схемы,ума не приложу как это сделать. задание во вкладке.Подскажите как сделать подробнее

Показать сообщение отдельно
MickeyBlueEyes
Студент
 Аватар для MickeyBlueEyes
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
27.01.2013, 22:54     строки и вхождения
Твой полностю работающий пример.
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <cstring>
#include <fstream>
using namespace std;
 
int Find_Count(char * string1, char * word1);
 
int main(){
    setlocale(LC_ALL,"Russian");
 
    char string1[101], string2[101];
    
    char s1[101];
    char s2[101];
 
    size_t cnt = 0;
    
    cout << "Введите первую строку:\n";
    cin.getline(string1, 101);
    strcpy(s1, string1);
    cout << "Введите вторую строкe:\n";
    cin.getline(string2, 101);
    strcpy(s2, string2);
 
    char * pch1 = strtok(string1, " ");
    
    char * word1; // самое длинное слово
 
    int length1 = strlen(pch1); // определяем длинну первого слова
 
    int maxLen1 = 0; // самое длинное слово
 
      while(pch1 != NULL)                         // пока есть слова
      {
          length1 = strlen(pch1);        // определяем длинну слова
 
          if (maxLen1 < length1 )        // определяем самое длинное слово
          {
              maxLen1 = length1;
              word1 = pch1;              // сохраняем указатель на текущее слово
          }
          cout << pch1;
          
          pch1 = strtok(NULL, " "); // получаем следующее слово
      }
       
      cout << "Самое длинное слово в первой строке: " << word1
           << " , его длина равна: " << maxLen1
           << " символов " << endl << "Количество вхождений: " << Find_Count(s1, word1) <<  endl;
 
      /*проводим аналогичные действия со второй строкой*/
      char * pch2 = strtok (string2, " ");
      
      char * 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 << "Количество вхождений: " << Find_Count(s2, word2) <<  endl;
 
      system("Pause");
 
    return 0;
}
 
int Find_Count(char * string, char * word){
    
        int i, j, count = 0;
        
         for(i = 0; i < (strlen(string)); i++){
 
                 for( j = 0; string[ i + j ] == word[ j ]; j++ );
 
                  if( j == strlen( word ) )
                  {
                             count++;
                  }
         }
         return count;
}
 
Текущее время: 23:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru