Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
1

В символьной строке, каждые два соседних слова разделены одним пробелом.Удалить из строки все пробелы.

06.04.2012, 19:16. Просмотров 1487. Ответов 6
Метки нет (Все метки)

В символьной строке, содержащей не более 80 символов, каждые два соседних слова разделены одним пробелом, строка заканчивается символом точка("."). Удалить из строки все пробелы.

C++
1
2
3
4
5
6
7
AnsiString S,   Delimiters;
Delimiters=" ";
S=Edit1->Text;
for(int i = 1;  i <= StrLen(S.c_str());  i++)
{if(IsDelimiter(Delimiters,S,i))
S[i]='_'; }
Edit2->Text=S;
Можно заменить '_' на '*' и т.д. Но не принимает ''('без пробела'), выводит ошибку
[C++ Error] Unit1.cpp(25): E2129 Character constant too long (or empty)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2012, 19:16
Ответы с готовыми решениями:

В заданной строке, слова которого разделены одним пробелом, напечатать все слова, содержащие заданную последовательность букв
В заданной строке, слова которого разделены одним пробелом, напечатать все слова, содержащие...

Удалить из строки слова, содержащие четное кол-во символов. Слова в строке разделены одним или несколькими пробелами. По
Удалить из строки слова, содержащие четное кол-во символов. Слова в строке разделены одним или...

Последовательности следующих друг за другом пробелов заменить одним пробелом (т.е. удалить все пробелы, следующие непосредственно за пробелом)
Последовательности следующих друг за другом пробелов заменить одним пробелом (т.е. удалить все...

Удалить символы в строке, стоящие на четных местах; удалить лишние пробелы и знаки табуляции в строке, заменив одним пробелом
Надо удалить символы в строке, стоящие на четных местах. И удалить лишние пробелы и знаки табуляции...

6
236 / 227 / 58
Регистрация: 27.10.2011
Сообщений: 249
06.04.2012, 19:28 2
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString str = Edit1->Text;
  for(int i = 1; i < str.Length() - 1; i++)
    if(str[i] == ' ')
      str.Delete(i--, 1);
  Edit2->Text = str;
}
1
4030 / 2320 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
06.04.2012, 19:30 3
Цитата Сообщение от MaDiNa Посмотреть сообщение
Но не принимает ''('без пробела')
Что это значит?
0
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
06.04.2012, 19:46  [ТС] 4
Цитата Сообщение от BRcr Посмотреть сообщение
Что это значит?
ну я имела ввиду вот это:
C++
1
2
3
4
5
6
7
AnsiString S,   Delimiters;
Delimiters=" ";
S=Edit1->Text;
for(int i = 1;  i <= StrLen(S.c_str());  i++)
{if(IsDelimiter(Delimiters,S,i))
S[i]=''; }
Edit2->Text=S;


Добавлено через 2 минуты
Цитата Сообщение от Sergey-K Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString str = Edit1->Text;
  for(int i = 1; i < str.Length() - 1; i++)
    if(str[i] == ' ')
      str.Delete(i--, 1);
  Edit2->Text = str;
}
Спасибо огромное! Есть оказывается легкие пути)))) а я че т искала, искала, но не нашла))) думала на крайняк с CHAR попробую! Огромное спасибо!!!!!
0
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
06.04.2012, 20:29 5
Добавлено через 14 минут
C++
1
2
AnsiString str2 = StringReplace(str, " ", "", TReplaceFlags() << rfReplaceAll);
AnsiString str3 = StringReplace(str, "15", "51", TReplaceFlags() << rfReplaceAll); // замена 15 на 51 в str и запись результата в str3
0
3 / 3 / 1
Регистрация: 02.04.2012
Сообщений: 107
06.04.2012, 20:59  [ТС] 6
Цитата Сообщение от Sergey-K Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString str = Edit1->Text;
  for(int i = 1; i < str.Length() - 1; i++)
    if(str[i] == ' ')
      str.Delete(i--, 1);
  Edit2->Text = str;
}
Sergey-K,это к тому вопросу задача! на счет справки
0
Вложения
Тип файла: rar 2 тапсырма ЖОО - копия.rar (450.5 Кб, 19 просмотров)
236 / 227 / 58
Регистрация: 27.10.2011
Сообщений: 249
06.04.2012, 23:41 7
Ошибочка, нужно +:
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString str = Edit1->Text;
  for(int i = 1; i < str.Length() + 1; i++)
    if(str[i] == ' ')
      str.Delete(i--, 1);
  Edit2->Text = str;
}
или так:
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString str = Edit1->Text;
  for(int i = 1; i <= str.Length(); i++)
    if(str[i] == ' ')
      str.Delete(i--, 1);
  Edit2->Text = str;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2012, 23:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины
В итоге вышло, что если первое слово правильной длинны - выводит все слова в строке. Если нет -...

1. Вводится строка текста из N символов, слова разделены одним пробелом. Составьте программу, печатающую первое слово в строке в оьратном порядке.
1. Вводится строка текста из N символов, слова разделены одним пробелом. Составьте программу,...

Поменять каждые два соседних слова в строке местами
прога должна менять каждые 2 сосенних слова местами) пол дня сижу не могу решить вот последняя...

Дано предложение. В нем слова разделены одним пробелом
Дано предложение. В нем слова разделены одним пробелом (начальные и конечные пробелы в предложении...


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

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

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