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

Сортировать слова в соответствии с увеличением длины

11.05.2012, 15:19. Показов 1887. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сортировать слова в соответствии с увеличением ихней длины.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Add(Edit1->Text);
Button1->Caption="Ввести наступне слово ";
Edit1->Clear();
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 
int symbols = 0;
int max = 0;
int num;
for(int j = 0; j < Memo1->Lines->Count; j++)
{
AnsiString str = Memo1->Lines->Strings[j] + " ";
 
for(int i = 0; i < str.Length(); i++)
{
if(str[i + 1]!= ' ')
symbols++;
 
else
{
if(symbols > max)
{
max = symbols;
num = j + 1;
Memo2->Lines->Add(symbols);
}
symbols = 0;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close();        
}
//---------------------------------------------------------------------------
Вложения
Тип файла: rar Сортировка.rar (709.5 Кб, 12 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2012, 15:19
Ответы с готовыми решениями:

Требуется переставить слова местами в соответствии с увеличением длины слова
Дана произвольная фраза. Требуется переставить слова местами в соответствии с увеличением длины слова. В новой фразе выделить определеные...

Переставить слова местами в соответствии с уменьшением длины слов
Дана произвольная фраза. Требуется переставить слова местами в соответствии с уменьшением длины слов (с начало самые длинные, а в конце...

Упорядочить слова заданного предложения в соответствии с ростом их длины
Помогите решить данную задачку: Упорядочить слова заданного предложения в соответствии с ростом их длины. А еще другое: Описать...

10
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 22
11.05.2012, 15:21  [ТС]
мне выводит только количество букв в слове

Добавлено через 1 минуту
я ввожу слова в Эдит нажимаю батон мне выводит в мемо,а потом нужно что в другом мемо его сортировало
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
11.05.2012, 15:34
Цитата Сообщение от sanchos199 Посмотреть сообщение
мне выводит только количество букв в слове
правильно выводит. Переменная symbols у Вас целое, а в мэмо2 нужно добавлять строки.
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 22
11.05.2012, 16:12  [ТС]
а можете помочь с кодом??

Добавлено через 1 минуту
а то уже облазил все, ломаю голову не

Добавлено через 29 секунд
могу все собрать в кучу
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
11.05.2012, 16:22
напрягаться желания нет. Пузырьковая сортировка даже на этом форуме рассматривалась неоднократно; в изометрии, можно сказать. Начните сочинять свою программу, и если не станет работать как надо - здесь всегда подскажут...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 16:44
Сортировать можно с помощью стандартных способов std::sort()+ф-циональный объект или и
CustomSort() объекта TStringList
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 22
11.05.2012, 22:33  [ТС]
та есть желание но что-то не выходит
на этой проге вышло ....
Вложения
Тип файла: rar 1 задание по практике.rar (91.5 Кб, 9 просмотров)
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 22
11.05.2012, 22:37  [ТС]
а в мемо что-то у меня не выходит))

Добавлено через 3 минуты
так что б я вводил в мемо слова какие хотел,а потом в другое мемо мне выводило слова по спаданию
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.05.2012, 02:06
Проявите изобретательность. Вот в этом примере я в цикле к каждому слову из мэмо1 добавляю в начало один символ, прямо связанный с длиной слова (предполагается, что слова не длинее полсотни символов и поэтому этот символ останется в пределах английского алфавита). После сортировки все слова расположатся в соответствии со своей длиной, и после этого будут перенесены (с "обрезанием") в мэмо2. Просто, дешево и сердито... __
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  String G = "0";
  TStringList *list = new TStringList;
  Memo1->Text=StringReplace(Memo1->Text,"."," ",TReplaceFlags()<<rfReplaceAll);
  Memo1->Text=StringReplace(Memo1->Text,","," ",TReplaceFlags()<<rfReplaceAll); 
  list->Text=StringReplace(Memo1->Text," ","\n",TReplaceFlags()<<rfReplaceAll);
  for (int i=0;i<list->Count;i++)
    if (list->Strings[i].Length()>0)  {
      G[1] = char('z'-list->Strings[i].Length()) ;
      list->Strings[i] = G+list->Strings[i];  }
  list->Sort();
  Memo2->Clear();
  for (int i=0;i<list->Count;i++)
    if (list->Strings[i].Length()>0)
      Memo2->Lines->Add(list->Strings[i].SubString(2,99));
  delete list;
}
Миниатюры
Сортировать слова в соответствии с увеличением длины  
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.05.2012, 02:30
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//---------------------------------------------------------------------------
int _fastcall LengthSort(TStringList *SL,int i1,int i2)// Ф-ция  сравнения
{
int l1= SL->Strings[i1].Length();
int l2= SL->Strings[i2].Length();
 
if(l1>l2) return 1;
else if(l1==l2) return 0;
     else return -1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *SL= new TStringList;
 
SL->Delimiter=' '; 
SL->DelimitedText = Memo1->Text;
SL->CustomSort(LengthSort); // сортировать согласно ф-ции
 
Memo2->Lines->Assign(SL);
delete SL;
}
//---------------------------------------------------------------------------
Миниатюры
Сортировать слова в соответствии с увеличением длины  
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 22
12.05.2012, 09:42  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
Проявите изобретательность. Вот в этом примере я в цикле к каждому слову из мэмо1 добавляю в начало один символ, прямо связанный с длиной слова (предполагается, что слова не длинее полсотни символов и поэтому этот символ останется в пределах английского алфавита). После сортировки все слова расположатся в соответствии со своей длиной, и после этого будут перенесены (с "обрезанием") в мэмо2. Просто, дешево и сердито... __
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  String G = "0";
  TStringList *list = new TStringList;
  Memo1->Text=StringReplace(Memo1->Text,"."," ",TReplaceFlags()<<rfReplaceAll);
  Memo1->Text=StringReplace(Memo1->Text,","," ",TReplaceFlags()<<rfReplaceAll); 
  list->Text=StringReplace(Memo1->Text," ","\n",TReplaceFlags()<<rfReplaceAll);
  for (int i=0;i<list->Count;i++)
    if (list->Strings[i].Length()>0)  {
      G[1] = char('z'-list->Strings[i].Length()) ;
      list->Strings[i] = G+list->Strings[i];  }
  list->Sort();
  Memo2->Clear();
  for (int i=0;i<list->Count;i++)
    if (list->Strings[i].Length()>0)
      Memo2->Lines->Add(list->Strings[i].SubString(2,99));
  delete list;
}

________________________________________ ________
Спасибо большое,но мне нужно через AnsiString....

Добавлено через 4 минуты
Кто сможет помочь ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2012, 09:42
Помогаю со студенческими работами здесь

Если в тексте нет слов-палиндромов, то вывести слова текста в соответствии с убыванием длины
помогите решить задачу))))так и не могу понять как такие решаются)))или идейки подкиньте))делфи Дана строка, содержащая русский...

Все слова, длина которых больше в 2 раза длины слова max длины, заменить на слово min длины
подскажите пожалуйста в чем тут ошибка {Дан текст. Все слова, длина которых больше в 2 раза длины слова минимальной длины,...

Строки. Поиск слова минимальной длины, вывод этой длины, номер слова и само слово
Как организовать решение такой задачи? Может как-то через создание массивов, в ячейках которых будут номера слов и числа количества букв...

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

Сортировать текст по возрастю длины слов
Сортировать текст по возрастю длину слов


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru