Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 648

Раздел: Delphi » Прочее
/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Не могли бы вы помочь моему сыну решить задачу в Delphi 7
Что-то у нас не получается: "напечатать все перестановки заданных и различных символов"
заранее благодарю

Gobov Lev Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Gobov Lev (статус: Посетитель)
Вопрос отправлен: 3 июня 2008, 15:55
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 29 октября 2011, 22:09; участников в обсуждении: 1.
Feniks257

Feniks257 (статус: Посетитель), 29 октября 2011, 22:09 [#1]:

Здравствуйте, Gobov Lev: Что значит заданных символов? если задать символ, то как его перевернуть в каждом слове всего текста? могу только подсказать как перевернуть текст начиная с последнего символа, посимвольно.
unit Unit9;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,math;
 
type
  TForm9 = class(TForm)
    IsxText: TMemo;
    ShifrText: TMemo;
    DShifrText: TMemo;
    Clall: TButton;
    Shifr: TButton;
    DShifr: TButton;
    Cl1: TButton;
    Cl2: TButton;
    Cl3: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Cl1Click(Sender: TObject);
    procedure Cl2Click(Sender: TObject);
    procedure Cl3Click(Sender: TObject);
    procedure ShifrClick(Sender: TObject);
    procedure DShifrClick(Sender: TObject);
    procedure ClallClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form9: TForm9;
  fDebug:TForm;
  Memo1:Tmemo;
  LDebug:Word=1;
  i:integer;
  a,b,c:string;
 
implementation
 
{$R *.dfm}
 
procedure TForm9.Cl1Click(Sender: TObject);
begin
IsxText.Clear;
end;
 
procedure TForm9.Cl2Click(Sender: TObject);
begin
ShifrText.clear;
end;
 
procedure TForm9.Cl3Click(Sender: TObject);
begin
DShifrText.clear;
end;
 
procedure TForm9.ClallClick(Sender: TObject);
begin
Memo1.Lines.clear;
IsxText.Clear;
ShifrText.clear;
DShifrText.clear;
end;
 
procedure TForm9.DShifrClick(Sender: TObject);
begin
 
 
  if ShifrText.text='' then Application.MessageBox('Нет текста для дешифрования!','Внимание!');
Memo1.Lines.clear;
b:='';
a:=shifrText.Text;
 for i  := length(a) downto 1 do
 begin
  if (a[i+1]='.') or ((a[i+1]=' ') and (a[i+2]='.')) or
    (a[i+1]='!') or ((a[i+1]=' ') and (a[i+2]='!')) or
     (a[i+1]='?') or ((a[i+1]=' ') and (a[i+2]='?')) or
     (i  = length(a)) then
     b:=b+AnsiUpperCase(a[i])
  else
 b:=b+a[i];
 
 memo1.Lines.Add(inttostr(length(a)-i+1)+' символ '+a[i]+'= '+b );
 DShifrText.Text:=b ;
end;
end;
 
procedure TForm9.FormCreate(Sender: TObject);
begin
IsxText.Clear;
ShifrText.Clear;
DShifrText.Clear;
 
SetExceptionMask([exInvalidop, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision]);
 
Ldebug:=1;
if Ldebug>0 then
  begin
    Fdebug:=Tform.Create(self);
    Fdebug.Caption:='Отладка';
    Memo1:=Tmemo.Create(fdebug);
    Memo1.Parent:=Fdebug;
    memo1.Align:=alclient;
    Memo1.ScrollBars:=ssVertical;
    Fdebug.Show;
  end;
end;
 
procedure TForm9.FormDestroy(Sender: TObject);
begin
 if Ldebug>0 then Fdebug.Release;
end;
 
procedure TForm9.ShifrClick(Sender: TObject);
var
str: string;
l: integer;
i,j: integer;
begin
 
if IsxText.text='' then
Application.MessageBox('Введите текст!','Внимание!');
Memo1.Lines.clear;
b:='';
a:=AnsiLowerCase(isxText.Text);;
for i  := length(a) downto 1 do
begin
b:=b+a[i];
ShifrText.Text:=b;
Memo1.Lines.Add(inttostr(length(a)-i+1)+' символ '+a[i]+'= '+b );
end;
ShifrText.Text:=b;
{str:=memo1.text;
l:=length(str);
j:=0;
memo1.Clear;
for I := l downto 1 do
begin
j:=j+1;
IsxText.Text:=IsxText.text+str[i];
IsxText.text:=AnsiLowerCase(IsxText.text);
memo1.Lines.add (inttostr(j)+' символ ' + str[i]+'='+IsxText.text)  }
end;
 
end.

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

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:52
Выполнено за 0.03 сек.