Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 32
1

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

04.12.2014, 13:46. Показов 1424. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вести с клавиатуры строку из нескольких слов,разделенных одним пробелом. Программа должна разбить данную строку на отдельные слова, а также напечатать список слов в алфавитном порядке.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2014, 13:46
Ответы с готовыми решениями:

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

Дан текст, состоящий из слов, разделённых одним пробелом. Удалить из текста слова, в которых есть символ «а».
Дан текст, состоящий из слов, разделённых одним пробелом. Удалить из текста слова, в которых есть...

Набор слов, разделенных одним пробелом
Добрый вечер. Прошу помочь решить задачу в Python 3. На вход подается набор слов, записанных черед...

Дана строка, состоящая из слов, разделенных одним или несколькими пробелами. Вывести строку, содержащую эти же слова
Помогите, напишите программу: Дана строка, состоящая из слов, разделенных одним или несколькими...

6
132 / 129 / 31
Регистрация: 12.12.2011
Сообщений: 462
04.12.2014, 14:34 2
Кликните здесь для просмотра всего текста
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
81
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure GetWords();
    procedure Sort();
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
   Edit1.Text:='';
   Memo1.Lines.Clear;
end;
 
procedure TForm1.GetWords();
var S,_Word:String;
    i:Integer;
begin
   S:=Trim(Edit1.Text);
   _Word:='';
   i:=1;
   while i <= Length(S) do
   begin
      if (S[i] <> ' ') then
         _Word:=_Word+S[i];
 
      if ((S[i] = ' ') or (i = Length(S))) then  
      begin
         Memo1.Lines.Add(_Word);
         _Word:='';
      end;
      Inc(i);
   end;
end;
 
procedure TForm1.Sort();
var Fl:Boolean;
    i:Integer;
begin
   Fl:=True;
   while Fl do
   begin
      Fl:=False;
      for i:=0 to Memo1.Lines.Count-2 do
      begin
         if Memo1.Lines.Strings[i]>Memo1.Lines.Strings[i+1] then
         begin
            Memo1.Lines.Exchange(i,i+1);
            Fl:=True;
         end;
      end;
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   GetWords();
   Sort();
end;
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 32
10.12.2014, 15:42  [ТС] 3
можно объяснения(комментарий)
0
132 / 129 / 31
Регистрация: 12.12.2011
Сообщений: 462
10.12.2014, 16:21 4
41 - Обрезаем ненужные символы (пробелы) в начале и конце строки
42 - Переменной _Word присваиваем пустую строку. В нее будем посимвольно заносить слово
44 - пока i (текущий номер символа в строке) <= длинне строки перебираем символы
46,47 - если текущий символ не пробел, то добавляем символ в слово _Word
49 - Если текущий символ пробел (конец слова) или достигнут конец строки (=конец последнего слова), то добавляем слово в Memo, а само слово обнуляем, чтобы искать дальше
Сортировка - пузырьком. Идем по всем строкам Memo (66) и сравниваем i и i+1 строки (68), если условие выполняется, то меняем строки местами (70). И так пока нечего будет переставлять.
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,129
10.12.2014, 16:38 5
Alisa123, можно еще так реализовать
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var
list:TStringList;
i:integer;
begin
list :=TStringList.Create;
list.Delimiter :=' '; //разделитель - пробел
list.DelimitedText :=Edit1.Text; //разделяем текст на слова 
list.Sorted :=True;  //сортируем по алфавиту
for i :=0 to list.Count-1 do
 Memo1.Lines.Add(list[i]); //заносим слова в список Memo
 list.Free;
end;

Не по теме:

Какая же все-таки полезная вещь TStringList:)

0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 32
10.12.2014, 16:48  [ТС] 6
этот код вместо чего вставлять ?в каком месте
0
Эксперт Pascal/Delphi
4914 / 2783 / 853
Регистрация: 04.10.2012
Сообщений: 10,129
10.12.2014, 16:57 7
Цитата Сообщение от Alisa123 Посмотреть сообщение
этот код вместо чего вставлять ?
На кнопку. Событие OnClick. Двойной клик по кнопке и в обработчик добавляете код.

На форме еще Edit и Memo.
0
10.12.2014, 16:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2014, 16:57
Помогаю со студенческими работами здесь

Ввести строку, в которой слова разделены одним пробелом. Подсчитать количество слов, состоящих из не более чем четырех
#include&lt;stdio.h&gt; #include&lt;string.h&gt; int main() { char ar; int i,kol=0;...

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

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

В произвольном предложении состоящих из слов, разделенных пробелом, «перевернуть» эти слова
Задание на массивы, срочно нужна программа на Java пожалуйста помогите.

Имеется ли заданное слово в заданном тексте из разделенных одним пробелом слов и, если имеется, то сколько бук
Имеется ли заданное слово в заданном тексте из разделенных одним пробелом слов и, если имеется, то...

Во входном файле записана символьная строка из двух слов, разделенных или одним пробелом, или несколькими
Привет, нужна помощь по Lisp Во входном файле записана символьная строка из двух слов, разделенных...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru