Паскаль 1. Найти и напечатать индексы элементов одномерного массива U размерности h,...

0 голосов
83 просмотров

Паскаль
1. Найти и напечатать индексы элементов одномерного массива U размерности h, значения которых равны ключу поиска k.

2. Напечатать максимальные значения элементов строк матрицы В размерности m×n и их индексы.


Информатика (113 баллов) | 83 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
Поскольку версия языка не указана, а также отсутствует какая-либо информация об ограничениях на технологию программирования, будет использованы все современные возможности 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.

Пример
h= 17
-6 -8 -6 -4 -6 8 -9 0 9 1 -1 0 -4 -6 8 -7 3
Ключ поиска k= -6
Индексы элементов, совпадающих с ключом: 1 3 5 14

№2

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.

Пример
Количество строк в матрице: 10
Количество столбцов в матрице: 15
*** Исходная матрица [10,15] ***
  26  29  19 -10  -6  12 -14   5  14 -18  27   7 -23 -21   8
  22  14 -16  14 -13 -25   5   2  -2  30  29   2  19   4   0
   4   8  25  16   1   4  -2 -18 -30  -1 -23 -26   5  29  19
  28  -4  -9 -12  20 -10 -17 -14 -27 -18 -10  -3  -9 -10  -5
 -21  -3 -29 -17   8 -12  13  -8   9 -26  -7   1 -17 -16 -21
 -30  30   3  10 -28   3 -19   0  14 -20 -10  -9  21   4 -20
 -24 -24  22   6 -11  10 -27  -8 -10   0 -15 -26  12 -16  -4
  19 -30 -29  24 -18  -9  24  12 -12  23  29  28 -12 -27 -12
  27  22  19  -1  28 -13  10   7  26   0  27   7 -17 -21  18
  -1   0 -14 -12  -9 -11 -10  28  -8  19 -17  -5   4  14  -9
------------------------------------------------------------
Максимальные элементы, равные 30: [2,10] [6,2]
(150k баллов)
0

Все это замечательно, а можно тоже самое только для среды delphi 7

0

Все понял, и на том спасибо

0

Хех, да я понимаю