Здравствуйте, Figaro, Вы писали:
F>Доброго времени суток.
F>Давно не писал около 10 лет на дельфи. Попался код:
F>F>Procedure Update(var AStr: String);
F>var
F> i: Integer;
F> i64: Int64;
F> j: Integer;
F> ch: Char;
F>begin
F> for i := 1 to Length(AStr) do begin
F> i64 := i;
F> for j := 0 to Length(AStr) do begin
F> if j <> i then
F> i64 := i64 + ord(AStr[j]) * j;
F> while i64 > Length(AStr) do
F> i64 := i64 - Length(AStr);
F> end;
F> j := i64;
F> ch := AStr[j];
F> AStr[j] := AStr[i];
F> AStr[i] := ch;
F> end;
F>
F>Теперь несколько вопросов:
F>1. Что эта хрень делает?
F>2. Как понимать ord(AStr[j]) при нулевом j.
F>3. Основное: как это будет выглядеть на C++?
в delphi 7 String — массив из char, и индекс начинается с 1, а не с 0 и до Length(AStr)