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

Выделить часть текста между словами, вводимыми с клавиатуры - C++

Восстановить пароль Регистрация
 
stray911
1 / 1 / 0
Регистрация: 05.11.2013
Сообщений: 23
06.11.2013, 22:06     Выделить часть текста между словами, вводимыми с клавиатуры #1
Вот сообственно задание: Выделить часть текста между словами, вводимыми с клавиатуры.

Подскажите пожулуйста ход решения или какими функциями воспользоваться?
http://i.***********/i9/2cb372b578a4...43145/2221.jpg вот у чему смог дойти


ну и код:
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
#include <iostream>
#include <string.h>
//#include <cstring>
using namespace std;
 
int main ()
{
    char str1[]="one two three four five six seven eight nine ten";
 
    char str2[]="two";
 
    char str3[]="eight";
    char str_tmp[100];
    memset (str_tmp, 0, 100);
    char str_tmp1[100];
    memset (str_tmp1, 0, 100);
 
 
 
 
    char*p;
    p=strstr(str1, str2);        
    p=strstr(str1, str3);
    p=strcpy(str_tmp, strstr(str1, str2));
    p=strstr(str1, str3);
    p=strcpy(str_tmp1, strstr(str1, str3));
 
 
 
    cout<<"Text:"<<' '<<str1<<'\n';
    cout<<"First word:"<<' '<<str2<<'\n';
    cout<<"Second word:"<<' '<<str3<<'\n';
    //cout<<strstr(str1, str2)<<endl;
    cout<<"str_tmp____:"<<str_tmp<<endl;
    //cout<<strstr(str_tmp, str3)<<endl;
    cout<<"str_tmp1___:"<<str_tmp1<<endl;
    cin.get ();
    return 0;
}
Добавлено через 18 минут
[IMG]http://i.***********/i9/4412a9ab450ca19900da3f8ae0cf6ee3/1383757773/3563/643145/1111_240.jpg[/IMG][IMG]http://i.***********/a3/2013-11-06-18-06/i9-5395144/240x106-r/i.gif[/IMG]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2013, 22:06     Выделить часть текста между словами, вводимыми с клавиатуры
Посмотрите здесь:

добавить пробел между словами C++
C++ Записать введённую с клавиатуры цифру от 0 до 10 словами на английском языке
Написать программу, которая удаляет из текста пробелы между словами и записывает в массив N длину каждого слова C++
C++ Убрать в текстовом файле ненужные пробелы, оставив между словами по одному, между предложениями по два.
C++ Из string выделить часть строки
выделить часть текста между словами которые вводятся с клавиатуры C++
C++ Удалить часть текста между словами,которые вводятся с клавиатуры
C++ Поиск текста в файле между двумя данными словами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stray911
1 / 1 / 0
Регистрация: 05.11.2013
Сообщений: 23
06.11.2013, 22:07  [ТС]     Выделить часть текста между словами, вводимыми с клавиатуры #2
скрин
Миниатюры
Выделить часть текста между словами, вводимыми с клавиатуры  
UVEN
3 / 3 / 0
Регистрация: 19.02.2013
Сообщений: 26
06.11.2013, 23:24     Выделить часть текста между словами, вводимыми с клавиатуры #3
посмотрите это может поможет

#pragma hdrstop
#pragma argsused

#include <tchar.h>
#include <stdio.h>

#include <typeinfo>
#include <iostream>
#include <string>

#include <conio.h>

using namespace std;



int _tmain(int argc, _TCHAR* argv[])
{

while (1)
{

char h[80]={'0'};

cout<<"Vvedite stroku: "<<endl;


string str;
cin.getline(h,80);


int i = 0;
int j = 0;
int t=0;

int a[sizeof(h)]={0};

do
{
if (*(h + i) == '\0')
a[1+t++]=i;

if(*(h + i) == ' ')
a[1+t++]=i;
}
while((*(h + i++) = *(h + j++)) != '\0') ;
cout<<endl<<endl<<"Vvedite nomer slova: ";

int N=1;
cin>>N;


cout<<endl<<"Poluchi svoe slovo: ";

for (int i = a[N-1]; i < a[N]+1; i++) {
cout<<h[i];
}

}
return 0;
}

Добавлено через 11 секунд
посмотрите это может поможет

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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
 
#include <typeinfo>
#include <iostream>
#include <string>
 
#include <conio.h>
 
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
 
while (1)
{
 
 char h[80]={'0'};
 
cout<<"Vvedite stroku: "<<endl;
 
 
string str;
cin.getline(h,80);
 
 
   int i = 0;                            
   int j = 0;                            
   int t=0;
 
   int a[sizeof(h)]={0};
    
   do
   {
      if (*(h + i) == '\0')
      a[1+t++]=i;
 
      if(*(h + i) == ' ')
       a[1+t++]=i;
   }
   while((*(h + i++) = *(h + j++)) != '\0') ;
cout<<endl<<endl<<"Vvedite nomer slova: ";
 
int N=1;
cin>>N;
 
 
cout<<endl<<"Poluchi svoe slovo: ";
 
for (int i = a[N-1]; i < a[N]+1; i++) {
cout<<h[i];
}
 
 }
    return 0;
}
Yandex
Объявления
06.11.2013, 23:24     Выделить часть текста между словами, вводимыми с клавиатуры
Ответ Создать тему
Опции темы

Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru