Преобразуйте этот код из pascal в python или c++. И можно как то этот скрипт по-другому описать в pascal (более объемно). Заранее спасибо. Begin ReadSeqInteger(3).Sorted.Skip(1).Take(1).Printlnend.

10 Сен 2019 в 03:42
228 +1
1
Ответы
1

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.
20 Апр 2024 в 02:03
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир