Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2015, 15:21   #1
reijii_nia
Пользователь
 
Регистрация: 29.03.2014
Сообщений: 19
По умолчанию Делфи, программа по перестановке местами слов в строке

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

Код:
var
  Form1: TForm1;
  s,s1,s2:string;
  i:byte;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
combobox1.Items.LoadFromFile('1.txt');
end;



procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Combobox1.Items.Add(Combobox1.text);
combobox1.Items.SaveToFile('1.txt');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=0 to combobox1.items.count do
s2:=s2+combobox1.Items[i]+' ';
begin
i:=pos(' ',s2);
s1:=copy(s2,1,i)+s1;
delete(s2,1,i);
end;
memo1.lines.add(s1);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.
reijii_nia вне форума Ответить с цитированием
Старый 17.05.2015, 15:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Составить программу, которая выводит все слова строки в обратном порядке.
Предложу свое видение реверсирования строки:
Код:
function RevWords(s:String):String;
var i:integer;
begin
 Result:='';
 with TStringList.Create do begin
  DelimitedText:=s;
  for i:=0 to Count-1 do Result:=Strings[i]+' '+Result;
  free;
 end;
end;
В функцию передается строка, и возвращается ее реверсированный вариант.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.05.2015, 15:51   #3
reijii_nia
Пользователь
 
Регистрация: 29.03.2014
Сообщений: 19
По умолчанию все бы хорошо но нет...

к сожалению я уже пробовал ставить функции но сказали что пользоваться только процедурами...типа мы их еще не проходили...
так что не подойдет этот вариант
reijii_nia вне форума Ответить с цитированием
Старый 17.05.2015, 16:14   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Для одной строки программа будет выглядеть так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,k:integer;
    s1,s2:string;
begin
   s1:=' '+Edit1.Text;
   s2:='';
   k:=0;
   For i:=Length(s1) downto 1 do
      If s1[i]=' ' then
      begin
         If s2<>'' then
            s2:=s2+' ';
         s2:=s2+Copy(s1,i+1,k);
         k:=0;
      end else
         k:=k+1;
   Label1.Caption:=s2;
end;
Сойдет?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 17.05.2015, 16:16   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
сказали что пользоваться только процедурами
объяви так: procedure RevWords(s:String; var sout: String);
и замени в коде result на sout и этот вариант подойдет как миленький. Только не говори, что var параметры еще не проходили
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачи по паскалю: в строке, состоящей из слов подсчитать количество слов на заданный символ; нарисовать пирамидку Sasha_KS Паскаль, Turbo Pascal, PascalABC.NET 1 18.03.2014 22:00
в строке поменять 1 и последнее слово местами. Программа есть только нужно сделать всё в 1 строке lect111 Паскаль, Turbo Pascal, PascalABC.NET 0 04.12.2012 15:47
Сравнение кол-ва слов в строке и сопоставление аналогичной строке. kish_mish Общие вопросы C/C++ 0 12.03.2012 20:58
программа,по перестановке элементов по порядку. denis2010 Помощь студентам 0 18.05.2011 21:24
Написать программу считающую количество слов в строке. Программа хрень, подкореектируйте. demon2321 Помощь студентам 3 15.03.2011 08:20