Показать сообщение отдельно
  #2  
Старый 22.12.2015, 14:39
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

1.
Код:
program split_and_sort;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Classes,
  StrUtils;

  function ConvertAnsiToOEM(const S: String): String;
  begin
    SetLength(Result, Length(S));
    CharToOEM(PChar(S), PChar(Result));
  end;

var
  Text: String;
  i   : Integer;
  S   : TStringList;
begin
  Text := 'Дана строка состоящая из слов разделенных одним пробелом';
  S    := TStringList.Create;
  try
    S.Delimiter     := #32;
    S.DelimitedText := Text;

    S.Sort;
    for i := 0 to S.Count - 1 do
      Writeln(ConvertAnsiToOEM(S[i]));
  finally
    FreeAndNil(S);
  end;

  Readln;
end.

2.
Код:
program Palindroms;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  STR_COUNT = 3;
  ResStr: Array [False..True] of String = ('No ',
                                           'Yes');

var
  Data    : Array [1..STR_COUNT] Of String;
  i, j, k : Integer;
  YesNo   : Boolean;
begin
  Data[1] := '689986';
  Data[2] := '12344';
  Data[3] := '23455432';

  for i := Low(Data) to High(Data) do begin
    j     := 1;
    k     := Length(Data[i]);
    YesNo := True;
    while (j <= k) and YesNo do begin
      YesNo := Data[i][j] = Data[i][k];
      j     := j + 1;
      k     := k - 1;
    end;

    Writeln(ResStr[YesNo], ' ', Data[i]);
  end;
  
  Readln;
end.
Ответить с цитированием