CyberForum.ru - Форум программистов и сисадминов
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум программистов > Форум Delphi

Ответ Создать новую тему
 
Старый 03.06.2011, 13:34   #1
Deni
Новичок
 
Регистрация: 03.06.2011
Сообщений: 13
Репутация: -1 (0)
По умолчанию Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

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

надо сделать под тему "множества" на Delphi
помогите пожалуйста!
Deni вне форума
Другие темы раздела
Из Word на Canvas Delphi
Как перенести текст из Word-документа, сохраняя форматирование на Canvas?. Из Word на Canvas
Delphi Вывод отчета через word
Здравствуйте, возникла такая проблема... я делаю вывод отчетов через word, нужно сделать заполнение таблицы, помогите пожалуйста с кодом! не судите строго, я только учусь). Вывод отчета через word
Старый 03.06.2011, 18:14   #2
Mawrat
Модератор
 
Регистрация: 19.09.2009
Адрес: г. Самара
Сообщений: 5,104
Репутация: 7196 (3078)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

Код 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
 
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
 
const
  //Множество разделителей слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  i, Len, Pos1 : Integer;
  Df, DTmp : set of Char;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли и выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  repeat
    Writeln('Задайте строку:');
    Readln(S);
 
    Writeln('Слова, состоящие из тех же букв, что и последнее слово:');
    //Длина строки.
    Len := Length(S);
    //Множество букв последнего слова.
    Df := [];
    //Множество букв в очередном слове.
    DTmp := [];
    //Позиция конца слова.
    Pos1 := 0;
    //Перебор символов строки справа - налево.
    for i := Len downto 1 do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Составляем множество букв очередного слова.
      DTmp := DTmp + [ S[i] ];
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then Pos1 := i;
      //Отслеживаем начало слова.
      if (i = 1) or (S[i - 1] in D) then begin
        //Множество букв последнего слова.
        if Df = [] then Df := DTmp;
        //Распечатка тех слов, которые состоят из тех же букв, что
        //и последнее слово.
        if Df = DTmp then Writeln( Copy(S, i, Pos1 - i + 1) );
        //Обнуление множества букв слова.
        DTmp := [];
      end;
    end;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
 
Здесь заглавные и строчные буквы считаются различными.
Mawrat вне форума
Старый 07.06.2011, 19:07  [ТС]   #3
Deni
Новичок
 
Регистрация: 03.06.2011
Сообщений: 13
Репутация: -1 (0)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

а можно с формой сделать пожалуйста
Deni вне форума
Старый 07.06.2011, 19:11   #4
Wzz
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 315
Репутация: 48 (48)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

А как те сюда форму прикрутить? точнее зачем? что ты там хочеш увидеть?
Wzz вне форума
Старый 07.06.2011, 19:14  [ТС]   #5
Deni
Новичок
 
Регистрация: 03.06.2011
Сообщений: 13
Репутация: -1 (0)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

если можно сделайте программу с формой заорхивируйте и киньте ссылку. я просто вообще не понимаю как работать в делфи. буду очень благодарен
Deni вне форума
Старый 07.06.2011, 19:21   #6
Wzz
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 315
Репутация: 48 (48)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

Еще один красавец ну как вам блин не стыдно приходить полностью 0 и просить чтоб вам писали ну тыб взял книжку полистал... попробывал зделать а если не вышло спросил бы. Так не приходят охламоны и давай ныть!

Добавлено через 50 секунд
Рублем таких надо наказывать!
Wzz вне форума
Старый 07.06.2011, 21:48  [ТС]   #7
Deni
Новичок
 
Регистрация: 03.06.2011
Сообщений: 13
Репутация: -1 (0)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

я почитал набрал форму. прогу чуть подделал. помогите довести до ума что бы заработала. прога в файле
Вложения
Тип файла: rar Новая папка.rar (5.3 Кб, 8 просмотров)
Deni вне форума
Старый 07.06.2011, 22:24   #8
Wzz
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 315
Репутация: 48 (48)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

Паря ты невыкручивайся взял скопировал код и говорит поправте=)) вот те курс молодого бойца :
1. http://www.ex.ua/view/3760964?r=28714 здесь сама основа программирования.
2. http://edumandriva.ru/edusoft/2010/0...o-lazarus.html просмотри(все кроме того что с sql) Не смари что работают в lazarus программирование то на одном языке а компилятор то такое дело(Мое имхо что Лазарь удобнее Borland Delphi )
3. http://www.delphiexpert.ru/lessons.php тут куча маленьких уроков по решению разных проблем на delphi найдеш че те надо и попробуеш воплотить в жызнь а потом уже будеш ныть.


p.s ну все за Borland Delphi щя в меня тапки полетят)))

Добавлено через 3 минуты
Я просто уверен что просмотрев все ето ты сможеш написать то что хочеш. Заметь я тя неотправляю читать "скучные" книжки хотя если хочеш писать что-то более серйозное чем ето придеться "поскучать"
Wzz вне форума
Старый 08.06.2011, 01:23   #9
Mawrat
Модератор
 
Регистрация: 19.09.2009
Адрес: г. Самара
Сообщений: 5,104
Репутация: 7196 (3078)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

В виде GUI приложения.
Код 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
82
83
84
85
 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
const
  //Множество разделителей слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  i, Len, Pos1 : Integer;
  Df, DTmp : set of Char;
begin
  S := Memo1.Text;
 
  Memo2.Lines.Add('Слова, состоящие из тех же букв, что и последнее слово:');
  //Длина строки.
  Len := Length(S);
  //Множество букв последнего слова.
  Df := [];
  //Множество букв в очередном слове.
  DTmp := [];
  //Позиция конца слова.
  Pos1 := 0;
  //Перебор символов строки справа - налево.
  for i := Len downto 1 do begin
    //Пропускаем разделители.
    if S[i] in D then Continue;
    //Составляем множество букв очередного слова.
    DTmp := DTmp + [ S[i] ];
    //Отслеживаем конец слова.
    if (i = Len) or (S[i + 1] in D) then Pos1 := i;
    //Отслеживаем начало слова.
    if (i = 1) or (S[i - 1] in D) then begin
      //Множество букв последнего слова.
      if Df = [] then Df := DTmp;
      //Распечатка тех слов, которые состоят из тех же букв, что
      //и последнее слово.
      if Df = DTmp then Memo2.Lines.Add( Copy(S, i, Pos1 - i + 1) );
      //Обнуление множества букв слова.
      DTmp := [];
    end;
  end;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Memo1.Clear;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  Memo2.Clear;
end;
 
end.
 
Вложения
Тип файла: rar Строки, Множества.rar (164.4 Кб, 17 просмотров)
Mawrat вне форума
После регистрации реклама в сообщениях будет скрыта
Старый 08.06.2011, 20:24  [ТС]   #10
Deni
Новичок
 
Регистрация: 03.06.2011
Сообщений: 13
Репутация: -1 (0)
По умолчанию re: Множества. Найти все слова, котрые состоят из тех же букв, что и последнее слово текста.

Mawrat большое тебе спасибо
Deni вне форума
Ответ Создать новую тему

Похожие темы
Тема Автор
С++ для начинающих напечатать все слова,котрые состоят из тех же букв что и последнее слово текста
Прог на c++ дан текст,который заканчивается точкой.текст состоит из слов,разделенных пробелами,слова представляют собой произвольную последовательность символов,отличных от пробела .напечатать все слова,котрые состоят из тех же букв что и последнее слово текста заранее спасибо!
Boy...
C# для начинающих Найти предложения содержащие слова А и поменять в них первое и последнее слово
Найти предложения содержащие слова А и поменять в них первое и последнее слово. А – вводиться пользователем
annyta.x
Turbo Pascal Напечатать все слова, отличные от последнего слова, которые состоят из тех же букв, что и первое слово
Напечатать все слова, отличные от последнего слова, которые состоят из тех же букв, что и первое слово Подскажите пожалуйста алгоритм как разработать программу на языке ПАСКАЛЬ )) Спасибо
dima-tkachenko
Pascal (Паскаль) Перечислите все слова заданного предложения, которые состоят из тех же букв, что и первое слово предложения.
Помогите пожалуйста решить задачку: Перечислите все слова заданного предложения, которые состоят из тех же букв, что и первое слово предложения.
Awakie
Pascal (Паскаль) Строки: Дана строка, слова в которой разделены пробелами. Верно ли, что последнее слово строки состоит только из букв первого слова
Привет, всем! Помогите плииз решить задачу! Дана строка, слова в которой разделены пробелами. Верно ли, что последнее слово строки состоит только из букв первого слова. Например: S = «В компьютерах первого поколения использовался машинный язык – способ записи программ, допускающий их...
Obsi
Опции темы

Текущее время: 01:34. Часовой пояс GMT +4.

Компьютерный форум программистов и сисадминов
Powered by vBulletin® Version 3.8.7 PL2
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Рейтинг@Mail.ru Яндекс.Метрика