0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 4
1

Определить количество слов в строке и вывести на экран все слова, количество букв у которых нечетное.

09.04.2010, 11:32. Показов 5418. Ответов 6
Метки нет (Все метки)

Помогите, пожалуйста решить задачу по на С++Builder6
Дана строка текста, в которой слова разделены двоеточиями и пробелами, необходимо:
определить количество слов в строке и вывести на экран все слова, количество букв у которых нечетное.

Заранее багодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2010, 11:32
Ответы с готовыми решениями:

Вывести на экран все слова, количество букв у которых нечетное
Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо: 1)вывести на экран...

Определить количество слов в тексте и вывести только те слова, количество символов в которых нечетное
Дан текст, в котором слова отделяются пробелами, в конце стоит точка. Определить количество слов и...

Напечатать все слова, в которых нечетное количество букв
Напечатать все слова, в которых нечетное количество букв. Перед печатью удалить первую и последнюю...

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

6
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
09.04.2010, 12:05 2
Посмотри функцию strtok. Она тебе поможет. А нечётность определяется по последнему биту числа.
0
0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 4
10.04.2010, 17:19  [ТС] 3
Уже смотрел, к сожалению, ничего не получаеться(
0
64 / 64 / 10
Регистрация: 19.10.2009
Сообщений: 234
10.04.2010, 21:48 4
Тупо, но работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 String Stroka=Edit1->Text;  //твоя строка
 while (Stroka.Pos(":")!=0) {
    Stroka=Stroka.SubString(1,Stroka.Pos(":")-1)+" "+Stroka.SubString(Stroka.Pos(":")+1,Stroka.Length()-Stroka.Pos(":"));
 }
 int Count=0;
 while (Stroka.Pos(" ")!=0) {
    Count++;
    int a=Stroka.Pos(" ");
    String tmpStr="";
    tmpStr=Stroka.SubString(1,a);
    Stroka=Stroka.SubString(a+1,Stroka.Length()-a);
    if ((tmpStr.Length() % 2) ==0) ListBox1->Items->Add(tmpStr);  //нечетные
 }
 Label1->Caption=IntToStr(Count+1); //количество слов в строке
}
1
0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 4
16.04.2010, 11:21  [ТС] 5
Спасибо большое. Но я в этой программе ничего , к сожалению, не понял и объяснить не смогу((
0
Маэстро
Вирусоборец
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
16.04.2010, 12:42 6
Цитата Сообщение от nebred Посмотреть сообщение
Но я в этой программе ничего , к сожалению, не понял и объяснить не смогу((
А так?

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
// Подсчёт нечётных слов-----------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TStringList *list = new TStringList(); // основной текст храним в list
   TStringList *TokenPoint = new TStringList(); // текст разбитый по двоеточию
   TStringList *TokenSpace = new TStringList(); // текст разбитый по пробелам
 
   // Задаём символ для разбивки - ":" - двоеточие
   TSysCharSet chPoint;
   chPoint<<':';
 
   // задаём символ для разбивки - " " - пробел
   TSysCharSet chSpace;
   chSpace<<' ';
 
   list->Text = Memo1->Text; // присваиваем текст из Memo списку - list
 
   // разбиваем текст по двоеточию
   ExtractStrings(chPoint, chPoint, list->Text.c_str(), TokenPoint);
   // разбиваем текст по пробелам
   ExtractStrings(chSpace, chSpace, TokenPoint->Text.c_str(), TokenSpace);
 
   // Подсчитываем количество слов
   // и выводим на экран слова с нечётным количеством символов
   for(int i = 0; i < TokenSpace->Count; i++){
     if((TokenSpace->Strings[i].Length() % 2) != 0)
       Memo2->Lines->Add(TokenSpace->Strings[i]);
    }
 
   // Сколько всего слов
   Label1->Caption = String("Всего нечётных слов = ") + Memo2->Lines->Count;
 
   // Освобождаем память
   delete list;
   delete TokenSpace;
   delete TokenPoint;
}
//---------------------------------------------------------------------------
0
0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 4
23.04.2010, 11:12  [ТС] 7
Спасибо за помощь. Задача решена.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2010, 11:12
Помогаю со студенческими работами здесь

Вывести на экран все слова, количество букв в которых превышает введенное число
Необходимо вывести на экран все слова, количество букв в которых превышает число, заданное...

Определить количество слов в строке и вывести на экран слова строки в столбик
Добрый вечер! Помогите разобраться: Исходное задание: Дана строка текста, в которой слова...

Оределить количество слов в строке и вывести на экран каждое нечетное слово
Дана строка текста, в которой слова разделены запятыми и двоеточиями. Необходимо: а) оределить...

Вывести на экран количество букв в 5-й строке и количество строк в которых длина меньше 10 символов
Програма должна считывать с клавиатуры текстовые строки и записывать их в массив до тех пор, пока...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru