Преобразуйте этот код из pascal в python или c++. И можно как то этот скрипт по-другому описать в pascal (более объемно). Заранее спасибо. Begin ReadSeqInteger(3).Sorted.Skip(1).Take(1).Printlnend.
#include <iostream> #include <algorithm> #include <vector> int main() { std::vector<int> numbers; int num; for (int i = 0; i < 3; i++) { std::cin >> num; numbers.push_back(num); } std::sort(numbers.begin(), numbers.end()); std::cout << numbers[1] << std::endl; return 0; }
Для описания данного скрипта более подробно на Pascal, можно написать универсальный метод сортировки массива, с возможностью пропуска и взятия определенного количества элементов:
program Main; type TIntegerArray = array of Integer; var numbers: TIntegerArray; procedure SortArray(var arr: TIntegerArray); var i, j, temp: Integer; begin for i := 0 to Length(arr) - 1 do begin for j := i + 1 to Length(arr) - 1 do begin if arr[j] < arr[i] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end; end; procedure ReadSeqInteger(n: Integer); var i, num: Integer; begin SetLength(numbers, n); for i := 0 to n - 1 do begin Read(num); numbers[i] := num; end; end; function SortedArray(): TIntegerArray; begin SortArray(numbers); SortedArray := numbers; end; function SkipElements(n: Integer): TIntegerArray; var i: Integer; begin SetLength(SkipElements, Length(numbers) - n); for i := n to Length(numbers) - 1 do begin SkipElements[i - n] := numbers[i]; end; end; function TakeElements(n: Integer): TIntegerArray; var i: Integer; begin SetLength(TakeElements, n); for i := 0 to n - 1 do begin TakeElements[i] := numbers[i]; end; end; procedure PrintArray(arr: TIntegerArray); var i: Integer; begin for i := 0 to Length(arr) - 1 do begin Write(arr[i], ' '); end; WriteLn; end; begin ReadSeqInteger(3); numbers := SortedArray(); numbers := SkipElements(1); WriteLn('Skipped 1 element:'); PrintArray(numbers); numbers := TakeElements(1); WriteLn('Taken 1 element:'); PrintArray(numbers); end.
Python:
numbers = list(map(int, input().split()))sorted_numbers = sorted(numbers)
print(sorted_numbers[1])
C++:
#include <iostream>#include <algorithm>
#include <vector>
int main() {
std::vector<int> numbers;
int num;
for (int i = 0; i < 3; i++) {
std::cin >> num;
numbers.push_back(num);
}
std::sort(numbers.begin(), numbers.end());
std::cout << numbers[1] << std::endl;
return 0;
}
Для описания данного скрипта более подробно на Pascal, можно написать универсальный метод сортировки массива, с возможностью пропуска и взятия определенного количества элементов:
program Main;type
TIntegerArray = array of Integer;
var
numbers: TIntegerArray;
procedure SortArray(var arr: TIntegerArray);
var
i, j, temp: Integer;
begin
for i := 0 to Length(arr) - 1 do
begin
for j := i + 1 to Length(arr) - 1 do
begin
if arr[j] < arr[i] then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
end;
end;
procedure ReadSeqInteger(n: Integer);
var
i, num: Integer;
begin
SetLength(numbers, n);
for i := 0 to n - 1 do
begin
Read(num);
numbers[i] := num;
end;
end;
function SortedArray(): TIntegerArray;
begin
SortArray(numbers);
SortedArray := numbers;
end;
function SkipElements(n: Integer): TIntegerArray;
var
i: Integer;
begin
SetLength(SkipElements, Length(numbers) - n);
for i := n to Length(numbers) - 1 do
begin
SkipElements[i - n] := numbers[i];
end;
end;
function TakeElements(n: Integer): TIntegerArray;
var
i: Integer;
begin
SetLength(TakeElements, n);
for i := 0 to n - 1 do
begin
TakeElements[i] := numbers[i];
end;
end;
procedure PrintArray(arr: TIntegerArray);
var
i: Integer;
begin
for i := 0 to Length(arr) - 1 do
begin
Write(arr[i], ' ');
end;
WriteLn;
end;
begin
ReadSeqInteger(3);
numbers := SortedArray();
numbers := SkipElements(1);
WriteLn('Skipped 1 element:');
PrintArray(numbers);
numbers := TakeElements(1);
WriteLn('Taken 1 element:');
PrintArray(numbers);
end.