Другие языки программирования и технологии

За умеренную плату нужно решить 4 задачи на Лазарусе!!!

Веня Сюсин
Веня Сюсин
446
Вот первая задача:

program project_69244264_01;

type
TIntArray = array of int64;

//==============================================================================
(*Функция, возвращающая "перевернутый" массив целочисленных элементов*)
function revertIntArray(x: TIntArray): TIntArray;
var
y: TIntArray;
j, k: integer;
begin
setlength(y, length(x)); j := 0; k := length(y) - 1;

repeat
y[k] := x[j];
inc(j);
dec(k);
until (k < 0);

Result := y;
end;
//==============================================================================
(*Процедура, вычисляющая процент четных, нечетных и нулевых элементов
целочисленного массива*)
procedure elmPercent (y: TIntArray);
var
evenElm, oddElm, zeroElm, j: integer;

begin
evenElm := 0; oddElm := 0; zeroElm := 0;

for j := 0 to length(y) - 1 do
begin
if (y[j] = 0) then
begin
inc(zeroElm);
continue;
end;
if not odd(y[j]) then inc(evenElm) else inc(oddElm);
end;

writeln;
writeln('Четных элементов ', evenElm / length(y) * 100.0:4:2, ' %');
writeln('Нечетных элементов ', oddElm / length(y) * 100.0:4:2, ' %');
writeln('Нулевых элементов ', zeroElm / length(y) * 100.0:4:2, ' %');
writeln;
end;
//==============================================================================
(*Процедура вывода целочисленного массива на экран*)
procedure print(x: TIntArray);
var
j: integer;
begin
for j := 0 to length(x) - 1 do
if j = length(x) - 1 then writeln(x[j]) else write(x[j], #9);
writeln;
end;
//==============================================================================
(*Функция ввода массива пользователем*)
function InputArray: TIntarray;
var
x: TIntArray;
k: integer;
begin
write('Количество элементов в массиве: '); readln(k);
setlength(x, k);
for k := 0 to length(x) - 1 do
begin
write(k + 1, ' -й элемент: '); readln(x[k]);
end;
writeln;
Result := x;
end;
//==============================================================================
(*Функция преобразования значения Int64 в бинарную строку
NumBits может быть 64,32,16,8 для указания представления возвращаемого значения
(Int64,DWord,Word или Byte) (по умолчанию = 64)
Обычно NumBits требуется только для отрицательных входных значений *)
function IntToBin(IValue : Int64; NumBits : word = 64) : string;
var RetVar : string;
begin
RetVar := '';

case NumBits of
32 : IValue := dword(IValue);
16 : IValue := word(IValue);
8 : IValue := byte(IValue);
end;

while IValue <> 0 do begin
Retvar := char(48 + (IValue and 1)) + RetVar;
IValue := IValue shr 1;
end;

if RetVar = '' then Retvar := '0';
Result := RetVar;
end;
//==============================================================================
(*Программа*)
var
x, y: TIntArray;
k: integer;
begin
x := InputArray; writeln('Массив X:'); print(x);
y := revertIntArray(x); writeln('Массив Y:'); print(y);
elmPercent(y);
writeln('массив Y в двоичном представлении: ');
for k := 0 to length(y) -1 do
writeln(IntToBin(y[k]));
readln;
end.
//==============================================================================

В общем, все задачи не очень интересные и, скорее, нудные. Вы и сами смогли бы с ними справиться.
Мамажан Таалайбеков
Мамажан Таалайбеков
1 791
Лучший ответ
"умеренная плата" это сколько? пиши в агент или аську 452371863
SG
Sugar Glider
68 014
Pascal задачи можно решать не только в Lazarus
__
_______ _______
3 744
что такое Лазарус? какого рода задачи? какова плата?

херассе. не.
Лазарус - бесплатный аналог Delphi. Да и задачи не плохо бы выложить
Помогите пожалуйста решить задачу под номером 12 через программу лазарус кто прям разбирается в этом прям самый умный человек буду благодарен.