Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Страницы:   1 2

Первокурсница ©   (2010-03-25 21:53:00) 

Добрый вечер, господа! =)
У меня очень лёгкий вопрос. Мне нужно вывести слова в строке в обратном порядке. Т.е.: папа мама брат->брат мама папа.
Вот программа которую я пытаюсь делать:
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.

Но она мне выводит только последнее слово и всё. Как исправить?


Игорь Шевченко   (2010-03-29 13:31:00) [1]

oldman ©   (29.03.10 12:36) [39]

Ты о чем ? Там была память на ферритовых сердечниках


oldman   (2010-03-29 12:36:00) [2]


> И 56 кило памяти (часть вечно была в ремонте).


Да, да, да!
Если учеть, что в качестве памяти использовались те же микросхему,что и в Спектрумах, то ремонт затягивался...
:))


Игорь Шевченко   (2010-03-27 20:20:00) [3]

Anatoly Podgoretsky ©   (27.03.10 17:24) [35]


> Ну это очень современный компьютер, такой рано в музей,
> видимо не смогли достать рабочую лошадку EC-1022


Я на ней в Аэрофлоте как раз работал. Пока они 1045 не приобрели.

Anatoly Podgoretsky ©   (27.03.10 17:27) [36]


> Видимо ты не видел 2 мегабайтные диски, они в основном в
> ходу были на миниЭВМ


Обижаешь, причем незаслуженно :) На СМ-3 как раз был 2х мегабайтный диск на полтора десятка пользователей.
И 56 кило памяти (часть вечно была в ремонте).


Демо   (2010-03-27 19:42:00) [4]


> Anatoly Podgoretsky ©   (27.03.10 17:24) [35]
> > Демо  (27.03.2010 14:59:31)  [31]Ну это очень современный
> компьютер, такой рано в музей, видимо не смогли достать
> рабочую лошадку EC-1022


Я успел только на 1035 и 1036 поработать-)


Anatoly Podgoretsky   (2010-03-27 17:27:00) [5]

> Игорь Шевченко  (27.03.2010 15:31:34)  [34]

Видимо ты не видел 2 мегабайтные диски, они в основном в ходу были на миниЭВМ


Anatoly Podgoretsky   (2010-03-27 17:24:00) [6]

> Демо  (27.03.2010 14:59:31)  [31]

Ну это очень современный компьютер, такой рано в музей, видимо не смогли достать рабочую лошадку EC-1022


Игорь Шевченко   (2010-03-27 15:31:00) [7]

Демо ©   (27.03.10 15:24) [33]

Я еще успел застать 7-мегабайтные диски, ЕС-5052 которые. И ничего, на 4-х дисковой стойке с такими дисками решались вполне себе задачи центра расчетов Аэрофлота.


Демо   (2010-03-27 15:24:00) [8]


> Игорь Шевченко ©   (27.03.10 15:14) [32]
> Демо ©   (27.03.10 14:59) [31] Фотографии хорошие, комментарии
> - отстой полный.


Комментарии откровенно слабые.

Но что-то ностальгическое вдруг появляется. когда смотришь на эту технику... Диски 29Мб...


Игорь Шевченко   (2010-03-27 15:14:00) [9]

Демо ©   (27.03.10 14:59) [31]

Фотографии хорошие, комментарии - отстой полный.


Демо   (2010-03-27 14:59:00) [10]

ЕС-ЭВМ, если интересно кому:
http://andy.sumy.ua/old_computers/world_museum/ec.htm
-)


Демо   (2010-03-27 14:37:00) [11]

Да, я только с 7920 работал.
На них можно было даже в игры играть...


Sha   (2010-03-27 10:41:00) [12]

>> Терминал, конечно, ЕС-7066.

> Игорь Шевченко ©   (27.03.10 00:53) [26]
> Что за страшный зверь ?
> ЕС-7920 (он же 3270) помню, 7066 - уже не успел застать ?

Когда появился 7920, это был луч света в темном царстве :)
7920 имел 22 (не помню точно) строки вместо ~10 строк у 7066.

> Германн ©   (27.03.10 01:02) [27]
>А на третьем курсе ещё раз и так далее?

И так до конца без конца.
Стоит показывать нормальные примеры того, как это можно сделать на каждом уровне знаний.

> Лучше помочь учащемуся самому найти ошибки в том, что он написал сам.

И это тоже. Ну там, вроде, нашлись помогающие - зачем мешать.
А примеры чужого кода заставят ее еще раз переосмыслить свой.


brother   (2010-03-27 09:35:00) [13]

> Нам эту тему не озвучили.

Тема сисек не раскрыта в очередной раз ;)


Германн   (2010-03-27 01:02:00) [14]


> А все не так потому, что код в [17] для Первокурсницы. Когда
> она перейдет на второй курс, я напишу ей по-другому :)

А на третьем курсе ещё раз и так далее?
Лучше помочь учащемуся самому найти ошибки в том, что он написал сам.
Имхо.

P.S. Ну и еще. Автор заявил, что это лаба. А лабы, как известно, предполагают наличие темы. Нам эту тему не озвучили.


Игорь Шевченко   (2010-03-27 00:53:00) [15]

Sha ©   (27.03.10 00:49) [25]


> Терминал, конечно, ЕС-7066.


Что за страшный зверь ?
ЕС-7920 (он же 3270) помню, 7066 - уже не успел застать ?


Sha   (2010-03-27 00:49:00) [16]

В [20] опечатка. Терминал, конечно, ЕС-7066.


Sha   (2010-03-27 00:33:00) [17]

>> А все не так потому, что код в [17] для Первокурсницы. Когда
>> она перейдет на второй курс, я напишу ей по-другому :)

> Игорь Шевченко ©   (26.03.10 21:49) [22]
> непременно на PL/1 и на перфокартах :)

Смысл кода [17] в том, чтобы не использовать внешних функций в простейшем алгоритме, показать алгоритм в чистом виде.

А после этого будет о чем поговорить со Второкурсницей.

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


Демо   (2010-03-26 23:48:00) [18]


> Плохиш ©   (26.03.10 16:24) [18]
> Ну, кто ещё лабу выполнит?


function SwapPh(const Src: String): String;
var
  i: Integer;
  s: String;
begin
  for i := Length(Src) downto 1 do
  begin
    if Src[i]=' ' then
    begin
      Result := Result + ' '+ReverseString(s);
      s := '';
    end
    else s := s+Src[i];
  end;
  Result := Result + ' '+ReverseString(s);
end;


Игорь Шевченко   (2010-03-26 21:49:00) [19]


> А все не так потому, что код в [17] для Первокурсницы. Когда
> она перейдет на второй курс, я напишу ей по-другому :)


непременно на PL/1 и на перфокартах :)


Jeer   (2010-03-26 20:59:00) [20]


> Sha ©   (26.03.10 19:42) [20]
> А все не так потому, что код в [17] для Первокурсницы.


Мне захотелось услышать твой комментарий - иного тут тоже много слышал.

Отлично, Sha - спасибо.

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо