С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
GreenkA
Модератор
Эксперт 1С
2474 / 1827 / 514
Регистрация: 25.06.2009
Сообщений: 6,711
1

Строки в Delphi

25.06.2009, 11:23. Просмотров 1681. Ответов 14
Метки нет (Все метки)

Оч срочно, пожалуйста, помогите написать прогу: дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. вывести на экран слова этого текста в алфавитном порядке.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2009, 11:23
Ответы с готовыми решениями:

В Delphi можно приравнивать строки? например уменя Массив из строк (Фамиоий и имён )|Delphi
нужно узнать есть одно фамильцы там они у меня в StringGrid.Cells 1 это...

Строки в Delphi 7
Привет, ребят. Не мог бы кто-нибудь помочь с кодом, пожалуйста? Задача такая:...

Строки в Delphi
Помогите кто чем сможет,пожалуйста!!! Узнать является ли предложение...

Строки в Delphi
Здравствуйте!!! Помогите победить строки! Есть трока "Полка 1200х500х5"...

строки в delphi
помогите пожалуйста!!!!:cry::cry:нужно срочно, через день экзамен по delphi!!...

14
mamedovvms
2919 / 840 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
25.06.2009, 11:28 2
так загоняй слова в массив и там их как тебе надо уже упорядочивай
0
GreenkA
Модератор
Эксперт 1С
2474 / 1827 / 514
Регистрация: 25.06.2009
Сообщений: 6,711
25.06.2009, 11:42  [ТС] 3
А подробнее? Как сортировать слова в ListBox?
0
Phantom
Эксперт С++
3174 / 856 / 39
Регистрация: 29.12.2008
Сообщений: 952
25.06.2009, 12:17 4
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
 procedure TForm1.Button1Click(Sender: TObject);
 var
   i, x: Integer;
 begin
   for i := 0 to (ListBox1.Items.Count - 1) do
     for x := 0 to (ListBox1.Items.Count - 1) do
       if (ListBox1.Items[x] < ListBox1.Items[i]) and (x > i) then
       begin
         ListBox1.Items.Insert(i, ListBox1.Items[x]);
         ListBox1.Items.Delete(x + 1);
       end;
 end;
Сортирует слова в ListBox1 по алфавиту.
0
GreenkA
Модератор
Эксперт 1С
2474 / 1827 / 514
Регистрация: 25.06.2009
Сообщений: 6,711
25.06.2009, 12:57  [ТС] 5
А можно ПОЛНОЕ описание программы?.. ПОЖАЛУЙСТА!

Добавлено через 19 минут 51 секунду
Phantom,
Delphi
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;
 
type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Button1: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    memo1: TMemo;
    ListBox1: TListBox;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
 
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject); // текст отдельно по словам
var
  s:string;
  i,c:integer;
  l:array [0..30] of string;
 
begin
s:=edit1.Text;
i:=1;
 
while (i<length(s)) do
  begin
    c:=0;
    while ((s[i+c]<>' ') and ((i+c)<length(s)) ) do
      c:=c+1;
      if (c>0) then
      begin
       while (i<30) do
        l[i]:=copy(s,i,c);
      end;
    i:=i+c;
    while (s[i]=' ')do i:=i+1;
  end;
 
 
i:=1;
 
while (i<30) do ListBox1.Items.Add(l[i]);
 
 
end;
 
 procedure TForm1.Button2Click(Sender: TObject); //сортировка
 var
   i, x: Integer;
 begin
   for i := 0 to (ListBox1.Items.Count - 1) do
     for x := 0 to (ListBox1.Items.Count - 1) do
       if (ListBox1.Items[x] < ListBox1.Items[i]) and (x > i) then
       begin
         ListBox1.Items.Insert(i, ListBox1.Items[x]);
         ListBox1.Items.Delete(x + 1);
       end;
 end;
 
end.
Что тут не так???
0
Phantom
Эксперт С++
3174 / 856 / 39
Регистрация: 29.12.2008
Сообщений: 952
25.06.2009, 13:02 6
Не знаю, посмотри мой код: На форму брось два Edit, один ListBox и кнопку.
В первый эдит вводим строку, нажмем кнопку и во второй эдит выведется упорядоченная строка. Теперь код нажатия на кнопку:

Delphi
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
 procedure TForm1.Button1Click(Sender: TObject);
 var
   i, x: Integer;
   str,word: string;
 begin
  //====Разбиваем строку на слова и заносим в каждое листбокс===
  str:=Edit1.Text;
  word:='';
  for i:=1 to Length(str) do
    if str[i]<>' ' then word:=word+str[i]
    else
      begin
      ListBox1.Items.Add(word);
      word:='';
      end;
   ListBox1.Items.Add(word);
  //====Упорядочиваем листбокс по алфавиту================================
   for i := 0 to (ListBox1.Items.Count - 1) do
     for x := 0 to (ListBox1.Items.Count - 1) do
       if (ListBox1.Items[x] < ListBox1.Items[i]) and (x > i) then
       begin
         ListBox1.Items.Insert(i, ListBox1.Items[x]);
         ListBox1.Items.Delete(x + 1);
       end;
 
 //===Формируем из упорядоченного листбокса выходную строку и выводим её в Эдит2
 
 str:='';
 for i:=0 to (ListBox1.Items.Count - 1) do
  str:=str+ListBox1.Items[i]+' ';
 Edit2.text:=str;
end;
0
GreenkA
Модератор
Эксперт 1С
2474 / 1827 / 514
Регистрация: 25.06.2009
Сообщений: 6,711
25.06.2009, 13:13  [ТС] 7
Phantom, БОЛЬШОЕ-БОЛЬШОЕ, спасибо)) :*
0
Askar2008
13 / 13 / 7
Регистрация: 04.03.2009
Сообщений: 154
25.06.2009, 13:15 8
А если добавлять эти слова в листбокс и listbox1.sorted:=true; вот так имхо
0
Jazon_deenAlt
4111 / 987 / 191
Регистрация: 09.04.2009
Сообщений: 4,226
25.06.2009, 13:19 9
Цитата Сообщение от Askar2008 Посмотреть сообщение
А если добавлять эти слова в листбокс и listbox1.sorted:=true; вот так имхо
0
Askar2008
13 / 13 / 7
Регистрация: 04.03.2009
Сообщений: 154
25.06.2009, 13:25 10
Цитата Сообщение от Jazon_deenAlt Посмотреть сообщение
А мне кажется мой вариант проще всего, хотя если автора темы интересовал сам алгоритм, то конечно мой совет отдыхает.
0
Jazon_deenAlt
25.06.2009, 13:29
  #11

Не по теме:

Цитата Сообщение от Askar2008 Посмотреть сообщение
А мне кажется мой вариант проще всего
дык и я о том же)

0
Askar2008
13 / 13 / 7
Регистрация: 04.03.2009
Сообщений: 154
25.06.2009, 13:35 12
Цитата Сообщение от Jazon_deenAlt Посмотреть сообщение

Не по теме:


дык и я о том же)

Аааа, а я думал все совсем безнадежно
0
Phantom
25.06.2009, 13:40
  #13

Не по теме:

Я постарался расписать алгоритм немного подробнее, чтобы автор мог переписать программу вовсе без листбокса, на массиве. При желании конечно.

0
Jazon_deenAlt
25.06.2009, 13:47
  #14

Не по теме:

Цитата Сообщение от Phantom Посмотреть сообщение
Я постарался расписать алгоритм немного подробнее, чтобы автор мог переписать программу вовсе без листбокса, на массиве. При желании конечно.
уважаемый, не оправдывайтесь) к вам никаких претензий нет и быть не может) только уважение, почет и благодарность) просто мое мнение такое что автору сам алгоритм не нужен, а нужно просто решыть лабораторную роботу(или как оно называетса) любым возможным способом) и чем проще, тем лудше)
ехх... что-то мы розфлудились тут)))

0
kentaw
421 / 130 / 33
Регистрация: 24.02.2009
Сообщений: 1,122
25.06.2009, 16:13 15
Цитата Сообщение от GreenkO Посмотреть сообщение
А подробнее? Как сортировать слова в ListBox?
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
 ListBox1.Sorted:=true;
end;
0
25.06.2009, 16:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2009, 16:13

Delphi строки!
Ребят,пожалуйста,помогите создать код: Дан текст и некоторое слово. Вывести те...

Строки (Delphi)
Дан двухмерный динамический массив a x a. Как осуществить проверку, что сумма...

Строки в Delphi
Вечер добрый Проблема такая: преподаватель, начав тему о строках, ничего...


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

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

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