Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MaDiNa
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
#1

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

15.04.2012, 20:41. Просмотров 1001. Ответов 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++):

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

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

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

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

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

Найти сколько раз в строке из 16 символов встречается слово "she" - C++
Помогите с решением лабы: Найти сколько раз в строке из 16 символов встречается слово &quot;she&quot;

8
Buckstabue
175 / 124 / 6
Регистрация: 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
592 / 560 / 20
Регистрация: 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
592 / 560 / 20
Регистрация: 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
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
15.04.2012, 22:44 #8
Цитата Сообщение от MaDiNa Посмотреть сообщение
Мне нужно чтобы строка вводилась, а не задавалась! Так вод я делаю только вот Edit не принимает char, есть какие способы преобразования char в string и обратно?
у стринг есть методов find, который и возвращает позицию в строке
0
Sergey-K
234 / 225 / 13
Регистрация: 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
Привет! Вот еще темы с ответами:

Найти самое короткое слово в строке, которое заканчивается на букву "а" - C++
Помогите пожалуйста с написанием программы. Вот задание... Дана строка текста в которой слова разделены пробелами.Необходимо: ...

Со слова процессор путем "вырезок" и "склеек" его букв получить слово рессор - C++
При выполнении этой задачи разрешается использовать любые строчные типы данных (например, динамический массив символов). ...

Из слова апельсин путем "вырезок" и "склеек" его букв получить слово спаниель - C++
Задача из сборника Златопольского: 9.30. Из слово апельсин путем &quot;вырезок&quot; и &quot;склеек&quot; его букв получить слово...

Найти книги, изданные после 1990 года, в названии которых есть слово "информатика" - C++
Функция: в которой ошибка должна найти киниги изданные после 1990 года, и в названии которой есть слово &quot;информатика&quot;. При компеляции...


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

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

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