Delphi 7: строки, обратный порядок слов в строке

Тема в разделе "Pascal and Delphi", создана пользователем -, 25 мар 2010.

Статус темы:
Закрыта.
  1. Гость

    Это всё я тут флудю :oops:
    В данный момент пытаюсь вывести слова в строке в обратном порядке. Т.е.: папа мама брат->брат мама папа
    Вот что у меня пока что получается:
    Код (Text):
    unit Laba4_2Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Button1: TButton;
    procedure Edit1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    str: string;

    implementation

    {$R *.dfm}

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
    str:=Edit1.Text;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    Var
    A  : Array[1..100] of String;
    i,n : Longint;
    z : String;
    begin
    str:=str+' ';
    z:='';
    n:=0;
    For i:=1 to Length(str) Do
    If str[i]<>' ' Then
    z:=z+str[i]
    Else
    Begin
    n:=n+1;
    A[n]:=z;
    z:='';
    End;
    For i:=n Downto 1 Do
    Edit2.Text:=A[n]+' ';
    end;
    end.
    Но моя недопрограмма выводит только последнее слово и всё. Как исправить? :)
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Вот, но только не выводит первое слово
    Код (Text):
    procedure TForm5.Button1Click(Sender: TObject);
    var str,str2:string;
    wordstr:array of string;
    i,k,l1:integer;
    begin
    str:=edit1.text;
    k:=0;
    for i:=1 to Length(str) do
    if (str[i]=' ') then k:=K+1;

    setlength(WORDSTR,k);
    l1:=0;
    for I := 0 to Length(str) do
    begin
    if str[i]<>' ' then wordstr[l1]:=wordstr[l1]+str[i];
    if str[i]=' ' then l1:=l1+1;
    end;
    str2:='';
    for i:=k downto 1 do
    str2:=str2+wordstr[i]+' ';
    str2:=str2+wordstr[0];
    edit2.Text:=str2;
    end;
    P.S. Как помне этой теме место тут
     
  3. Гость

    Спасибо огромное! :)
     
Загрузка...
Похожие Темы - Delphi строки обратный
  1. cybert
    Ответов:
    0
    Просмотров:
    99
  2. Shouldercannon
    Ответов:
    0
    Просмотров:
    162
  3. antares
    Ответов:
    0
    Просмотров:
    445
  4. Луиза
    Ответов:
    0
    Просмотров:
    297
  5. avizer
    Ответов:
    5
    Просмотров:
    732
Статус темы:
Закрыта.

Поделиться этой страницей