Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
#1

Найти слово "ТЕКСТ", если такое слово есть,то отпечатать его номер в строке. - C++

15.04.2012, 20:41. Просмотров 1030. Ответов 8
Метки нет (Все метки)

В символьной строке, содержащей не более 80 символов, каждые два соседних слова разделены одним пробелом, строка заканчивается символом точка("."). Найти слово "ТЕКСТ", если такое слово есть, то отпечатать его номер в строке. Если такого слова нет, то сообщить об этом.
у меня есть код но его надо переделать в визуальный!Помогите с переделкой!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 char str[80];
 int i,  b=0;
 char *c;
 cout<<"Vvedite stroku:\n";
 gets(str);
 c = strchr(str, 'TEXT');
 if (c==0) {
   cout<<"\n Takoi stroki net";
 }
for (i = 0; str[i]!=*c; i++) {
  if (str[i]==' ') b++;
 
}
cout<<"\n\nNomer pos: "<<b+1;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2012, 20:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти слово "ТЕКСТ", если такое слово есть,то отпечатать его номер в строке. (C++):

Дана строка, в котором есть слово "да" или слово "нет". Если в нем есть слово "нет", то удалить его
Дана строка, в котором есть слово &quot;да&quot; или слово &quot;нет&quot;. Если в нем есть слово...

вывести на друк слово "Одинаковые" если эти массивы полностью совпадают,и слово "Разные" в противоположном случае.
Создать два символьных массива по 12 элементов , и вывести на друк слово...

Дано ошибочно написанное слово "роцессорп". Путем перемещения его букв получить слово "процессор"
9.131. Дано ошибочно написанное слово роцессорп. Путем перемещения его букв...

Дано ошибочно написанное слово "алигортм". Путем перемещения его букв получить слово "алгоритм"
9.129. Дано ошибочно написанное слово алигортм. Путем перемещения его букв...

В каждой второй строке удалить третье слово, если такое есть
Добрый день! Ребята срочно нужна помощь,буду признателен,нужно в С++...

В случае, если точка внутри заштрихованной области -- выведите слово "Inside", если снаружи - "Outside"
Напишите программу, при выполнении которой с клавиатуры считываются координаты...

8
Buckstabue
177 / 126 / 24
Регистрация: 12.01.2012
Сообщений: 624
15.04.2012, 21:58 #2
Я бы решил задачу примерно так
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
#include <iostream>
#include <cstring>
 
int main()
{
   const int STR_SIZE = 80;
   char str[ STR_SIZE ] = { '\0' }; // вводимая строка
   char strForSearch[ STR_SIZE ] = { '\0' }; // копия строки для поиска
   char *curWordPtr = NULL; // текущее слово
   const char *wordPtr = "TEXT"; // искомое слово
   bool hasWord = false; // флаг наличия в строке слова *word
   int counter = 0; // счетчик слов
 
   std::cout << "Vvedite stroku: " << std::endl;
   std::cin.getline( str, STR_SIZE );
 
   strcpy( strForSearch, str );
   curWordPtr = strtok( strForSearch, " " );
   while ( curWordPtr != NULL )
   {
      counter++;
      if ( strcmp( curWordPtr, wordPtr ) == 0 )
      {
         hasWord = true;
         break;
      }
      curWordPtr = strtok( NULL, " " );
   }
 
   if ( hasWord )
      std::cout << counter << std::endl;
   else
      std::cout << "Slovo ne naydeno" << std::endl;
 
   return 0;
}
0
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
15.04.2012, 22:05  [ТС] #3
Цитата Сообщение от Buckstabue Посмотреть сообщение
Я бы решил задачу примерно так
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
#include <iostream>
#include <cstring>
 
int main()
{
   const int STR_SIZE = 80;
   char str[ STR_SIZE ] = { '\0' }; // вводимая строка
   char strForSearch[ STR_SIZE ] = { '\0' }; // копия строки для поиска
   char *curWordPtr = NULL; // текущее слово
   const char *wordPtr = "TEXT"; // искомое слово
   bool hasWord = false; // флаг наличия в строке слова *word
   int counter = 0; // счетчик слов
 
   std::cout << "Vvedite stroku: " << std::endl;
   std::cin.getline( str, STR_SIZE );
 
   strcpy( strForSearch, str );
   curWordPtr = strtok( strForSearch, " " );
   while ( curWordPtr != NULL )
   {
      counter++;
      if ( strcmp( curWordPtr, wordPtr ) == 0 )
      {
         hasWord = true;
         break;
      }
      curWordPtr = strtok( NULL, " " );
   }
 
   if ( hasWord )
      std::cout << counter << std::endl;
   else
      std::cout << "Slovo ne naydeno" << std::endl;
 
   return 0;
}
Спасибо! но мне надо в визуальном!
0
panicwassano
594 / 562 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
15.04.2012, 22:11 #4
Цитата Сообщение от MaDiNa Посмотреть сообщение
Спасибо! но мне надо в визуальном!
что в вашем понятии визуальное? GUI чтоль? GUI можно самой прикрутить
0
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
15.04.2012, 22:14  [ТС] #5
Цитата Сообщение от panicwassano Посмотреть сообщение
что в вашем понятии визуальное? GUI чтоль? GUI можно самой прикрутить
C++ Builder----> объектно-ориентированное программирование!
с помощю Edit, Button,Memo и тому подобное!
0
panicwassano
594 / 562 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
15.04.2012, 22:15 #6
Цитата Сообщение от MaDiNa Посмотреть сообщение
C++ Builder----> объектно-ориентированное программирование!
с помощю Edit, Button,Memo и тому подобное!
это вы можете сами прикрутить, вывод сделаете в memo, документацию почитаете по билдеру как это делается. Решение задачи у вас есть
0
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
15.04.2012, 22:17  [ТС] #7
Цитата Сообщение от panicwassano Посмотреть сообщение
это вы можете сами прикрутить, вывод сделаете в memo, документацию почитаете по билдеру как это делается. Решение задачи у вас есть
Мне нужно чтобы строка вводилась, а не задавалась! Так вод я делаю только вот Edit не принимает char, есть какие способы преобразования char в string и обратно?
0
panicwassano
594 / 562 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
15.04.2012, 22:44 #8
Цитата Сообщение от MaDiNa Посмотреть сообщение
Мне нужно чтобы строка вводилась, а не задавалась! Так вод я делаю только вот Edit не принимает char, есть какие способы преобразования char в string и обратно?
у стринг есть методов find, который и возвращает позицию в строке
0
Sergey-K
234 / 225 / 58
Регистрация: 27.10.2011
Сообщений: 249
16.04.2012, 00:07 #9
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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString temp, str = Edit1->Text + " ";
  int count = 0;
  bool b = false;
  for(int i = 0; i < str.Length(); i++)
    {
      if(str[i + 1] != ' ')
        temp += str[i + 1];
      else
        {
          if(temp != "")
            {
              count++;
              if(temp == "ТЕКСТ")
                {
                  b = true;
                  break;
                }
              temp = "";
            }
        }
    }
  if(b)
    ShowMessage("Слово \"ТЕКСТ\" присутствует в строке под номером: " +
      IntToStr(count));
  else
    ShowMessage("Слово \"ТЕКСТ\" не найдено");
}
1
16.04.2012, 00:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 00:07
Привет! Вот еще темы с решениями:

Если точка внутри заштрихованной области - выведите слово "Inside", если снаружи - "Outside"
Напишите программу, при выполнении которой с клавиатуры считываются координаты...

Скопировать содержимое текстового файла, удалив в каждой строке слово номер N+1, если в слове N есть 4
Здравствуйте. Помогите, пожалуйста, в написании программы Скопировать...

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

В заданной строке найти последнее слово и его номер
Здравствуйте!! Помогите с решением данной задачи: В данной строке найти...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru