Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 6

Напечатать в алфавитном порядке все слова из данной строки

10.06.2016, 17:03. Показов 1196. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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 <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString s[100];
AnsiString t;
int i,j;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
j=0;
while (Memo1->Text!=""){
   s[i]=strcpy(Memo1->Text,1,Pos(Memo1->Text," "));
    Memo1->Text.Delete(1,Pos(Memo1->Text," "));
    j++;
    }
for(i=0;i<j-1;i++){
    if (s[i]<s[i+1]){
        t=s[i];
        s[i]=s[i+1];
        s[i+1]=t;
        }
    }
for(i=0;i<j;i++){
    Memo1->Text+=s[i];
    }
}
//---------------------------------------------------------------------------
Ошибка в этой строке
C++
1
2
while (Memo1->Text!=""){
   s[i]=strcpy(Memo1->Text,1,Pos(Memo1->Text," "));
Миниатюры
Напечатать в алфавитном порядке все слова из данной строки  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2016, 17:03
Ответы с готовыми решениями:

Напечатать в алфавитном порядке все слова из данной строки, имеющие заданную длину n
Всем доброго времени помогите пожалуйста выполнить задние через тип String и Класс StringBuilder: Дана строка. Напечатать в алфавитном...

Напечатать в алфавитном порядке все слова из данной строки, имеющие заданную длину n
Здравстуйте, если не сложно помогите пожалуйста написать программу. Составить программу, которая будет вводить строку в переменную...

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

12
233 / 99 / 27
Регистрация: 20.03.2014
Сообщений: 304
10.06.2016, 17:14
strcpy нельзя применять для типа UnicodeString. Воспользуйтесь аналогом, работающим с этим типом данных.
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 6
10.06.2016, 17:27  [ТС]
какой именно аналог?
Нужна помощь твоя)
Весь интернет перерыл ничего такого не нашел...

Добавлено через 8 минут
Цитата Сообщение от UltraPenguin Посмотреть сообщение
strcpy нельзя применять для типа UnicodeString. Воспользуйтесь аналогом, работающим с этим типом данных.
Помоги пожалуйста, уже не знаю что сделать
0
233 / 99 / 27
Регистрация: 20.03.2014
Сообщений: 304
10.06.2016, 17:34
Тут есть несколько решений

Добавлено через 31 секунду
А вообще RAD это уг)
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 6
10.06.2016, 17:38  [ТС]
Цитата Сообщение от UltraPenguin Посмотреть сообщение
Тут есть несколько решений

Добавлено через 31 секунду
А вообще RAD это уг)
Что то вообще ничего не понял из того что скинули, корявый гугл переводчик...
Что нужно сделать в моем случае?
0
233 / 99 / 27
Регистрация: 20.03.2014
Сообщений: 304
10.06.2016, 17:42
Цитата Сообщение от dpm Посмотреть сообщение
Что нужно сделать в моем случае?
Учить английский)
Вам нужно перевести UnicodeString в wchar_t* а затем полученное в char* чтобы использовать strcpy, или напрямую копировать wchar_t* с помощью wcscpy. Варианты перевода по ссылке что я указал.
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 6
10.06.2016, 17:48  [ТС]
Цитата Сообщение от UltraPenguin Посмотреть сообщение
Учить английский)
Вам нужно перевести UnicodeString в wchar_t* а затем полученное в char* чтобы использовать strcpy, или напрямую копировать wchar_t* с помощью wcscpy. Варианты перевода по ссылке что я указал.
Уже могли бы давно помочь....
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33394 / 21504 / 8236
Регистрация: 22.10.2011
Сообщений: 36,900
Записей в блоге: 12
10.06.2016, 18:48
dpm,
C++
1
s[i] = Memo1->Text.SubString(1, Memo1->Text.Pos(" "));
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 6
10.06.2016, 19:25  [ТС]
[QUOTE=volvo;9258627]dpm,

Программа зацикливается когда нажима на Button
А должно было вывести слова в алфавитном порядке то что было напечатано в Memo1

Добавлено через 53 секунды
Цитата Сообщение от volvo Посмотреть сообщение
dpm,
C++
1
s[i] = Memo1->Text.SubString(1, Memo1->Text.Pos(" "));
Программа зацикливается при нажатий на Button, а должно сортировать все что написано в memo1 в алфавитном порядке
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33394 / 21504 / 8236
Регистрация: 22.10.2011
Сообщений: 36,900
Записей в блоге: 12
10.06.2016, 21:43
При использовании Seattle все становится гораздо проще:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <StrUtils.hpp>
 
// ...
 
void __fastcall TForm1::Button25Click(TObject *Sender)
{
    TStringDynArray s = SplitString(Memo1->Text, " ");
    std::auto_ptr<TStringList> lst(new TStringList);
    lst->Sorted = true;
    for(int i = 0; i < s.Length; i++) lst->Add(s[i]);
    Memo1->Clear();
    Memo1->Lines->AddStrings(lst.get());
}
0
11 / 11 / 4
Регистрация: 15.04.2015
Сообщений: 67
11.06.2016, 01:51
volvo, извините, а за чем использовать два массива? Почему нельзя, например, так
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button3Click(TObject *Sender)
{
     std::auto_ptr<TStringList> L(new TStringList);
     L->DelimitedText = Memo1->Text;
     L->Sorted = true;
     Memo1->Clear();
     Memo1->Lines->AddStrings(L.get());
}
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33394 / 21504 / 8236
Регистрация: 22.10.2011
Сообщений: 36,900
Записей в блоге: 12
11.06.2016, 02:16
Потому что разделителей может быть больше одного. В мой код достаточно добавить нужные разделители в строке №7. Что делать в случае использования DelimitedText? Delimiter может быть одним-единственным.
0
11 / 11 / 4
Регистрация: 15.04.2015
Сообщений: 67
11.06.2016, 04:00
volvo, в случае если их два(и один из них пробел), то без проблем, а вот в случае если разделителей два(без пробела) или более, то тогда да - код портится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2016, 04:00
Помогаю со студенческими работами здесь

Напечатать в алфавитном порядке все слова из заданной строки, имеющие заданную длину n
Пожалуйста, напишите программу по следующей задаче: Дана строка . Напечатать в алфавитном порядке все слова из заданной строки,...

В тексте слова разделены запятыми,напечатать все слова в алфавитном порядке.
Написал программу, она не запускаеться, я понимаю что чтото не так, но что незнаю. В чём я ошибся? Вот само задание: Дана строка ...

Напечатать все слова в алфавитном порядке
Пожалуйста, помогите решить вот эту задачку на C++. &lt;--&quot; Дана последовательность слов. Напечатать все слова в алфавитном порядке....

Напечатать все слова в алфавитном порядке
Помогите пожалуйста, я уже который час сижу над этой задачей и не могу довести до ума. Мы только начали эту тему, задача должна содержать...

Напечатать всё слова в алфавитном порядке
Дан текст, состоящий из слов: между словами произвольное число пробелов, после последнего слова точка. Напечатать всё слова в алфавитном...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru