Дан массив В (80), заполненный трехзначными случайными числами. Найти минимальный элемент массива и вывести на экран его индекс. (Написать на языке программирование Pascal)
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
type fraction=class
private
class function GCD(a,b:BigInteger):BigInteger; begin while b<>0 do (a,b):=(b,a mod b); Result:=a end;
public
numerator:BigInteger; denominator:BigInteger;
constructor Create(num:BigInteger:=0; denom:BigInteger:=1); begin var n:=GCD(num,denom); numerator:=num div n; denominator:=denom div n end;
class function operator +(a,b:fraction):fraction; begin var n:=GCD(a.denominator,b.denominator); Result:=new fraction(a.numerator*(b.denominator div n)+ b.numerator*(a.denominator div n),a.denominator div n*b.denominator); end; end;
function Print(Self:fraction; s:string:=' '):fraction; extensionmethod; begin Result:=Self; if Self.denominator=1 then Write(Self.numerator,s) else Write(Self.numerator,'/',Self.denominator,s) end;
function Read:fraction; begin var s:=ReadlnString('Введите через пробел числитель и знаменатель:'); var w:=s.ToWords; Result:=new fraction(BigInteger.Parse(w[0]),BigInteger.Parse(w[1])) end;
begin var a:=Read; var b:=Read; (a+b).Print end.
Примеры Введите через пробел числитель и знаменатель: 1 2 Введите через пробел числитель и знаменатель: 5 130 7/13
Введите через пробел числитель и знаменатель: 132 65 Введите через пробел числитель и знаменатель: 1325 345 26333/4485
Введите через пробел числитель и знаменатель: 1231234450435679092 234535650234953469825 Введите через пробел числитель и знаменатель: 234346623432456207645 2345893524353652 2617268599782944014855731813763449145529/26199793481726210718128032276692900
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var s:=a.IndexesOf(x->x mod 10=0); if s.Count=0 then Writeln('Нет элементов, оканчивающихся на 0') else begin Write('Номера элементов, оканчивающихся на 0: '); s.Select(i->i+1).Println end end.
Примеры n= 12 -41 46 29 -13 -43 -21 48 43 41 -48 -19 -44 Нет элементов, оканчивающихся на 0
const n=20;
var
a:array [0..n] of integer;
k,i: integer;
begin
randomize;
k:=0;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(100);
write(a[i],' ');
end;
writeln;
writeln('Индексы нечетных элементов:');
for i:=1 to n do
if a[i] mod 2 <> 0 then
begin
write(i,' ');
k:=k+1;
end;
writeln;
writeln('k = ',k);
end.
Пример:
Исходный массив:
62 21 39 17 75 30 10 29 80 1 88 93 50 48 17 9 41 2 1 8
Индексы нечетных элементов:
2 3 4 5 8 10 12 15 16 17 19
k = 11
Объяснение: