Паскаль 1. найти и напечатать индексы элементов одномерного массива u размерности h, значения которых равны ключу поиска k. 2. напечатать максимальные значения элементов строк матрицы в размерности m×n и их индексы.
Поскольку версия языка не указана, а также отсутствует какая-либо информация об ограничениях на технологию программирования, будет использованы все современные возможности PascalABC.NET 3.2 в его последней доступной реализации (сборка 1443 от 19.05.2017).
Внимание! Если у вас программа не работает, обновите версию!
№1
begin var u:=ArrRandom(ReadInteger('h='),-10,10); u.Println; var k:=ReadInteger('Ключ поиска k='); Write('Индексы элементов, совпадающих с ключом: '); u.Select((x,i)->(x,i)).Where(x->x[0]=k).Select(x->x[1]+1).Println end.
begin var m:=ReadInteger('Количество строк в матрице:'); var n:=ReadInteger('Количество столбцов в матрице:'); Writeln('*** Исходная матрица [',m,',',n,'] ***'); var b:=MatrRandom(m,n,-30,30); b.Println(4); Writeln(4*b.ColCount*'-'); var s:=b.ElementsWithIndexes; var max:=s.Select(x->x[2]).Max; Write('Максимальные элементы, равные ',max,': '); s.Where(x->x[2]=max).ForEach(x->Write('[',x[0]+1,',',x[1]+1,'] ')); Writeln end.