Паскаль1. Отыскать и напечатать индексы частей одномерного массива U размерности h,
Паскаль
1. Отыскать и напечатать индексы элементов одномерного массива U размерности h, значения которых одинаковы ключу поиска k.
2. Напечатать наибольшие значения частей строк матрицы В размерности mn и их индексы.
1 ответ
Алёна Казаковкина
Так как версия языка не указана, а также отсутствует какая-либо информация об ограничениях на технологию программирования, будет применены все современные возможности 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)-gt;(x,i)).Where(x-gt;x[0]=k).Select(x-gt;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-gt;x[2]).Max;
Write('Наибольшие элементы, равные ',max,': ');
s.Where(x-gt;x[2]=max).ForEach(x-gt;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]
Внимание! Если у вас программка не работает, обновите версию!
1
begin
var u:=ArrRandom(ReadInteger('h='),-10,10); u.Println;
var k:=ReadInteger('Ключ поиска k=');
Write('Индексы частей, совпадающих с ключом: ');
u.Select((x,i)-gt;(x,i)).Where(x-gt;x[0]=k).Select(x-gt;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-gt;x[2]).Max;
Write('Наибольшие элементы, равные ',max,': ');
s.Where(x-gt;x[2]=max).ForEach(x-gt;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]
Дынник
Саша
Все это замечательно, а можно тоже самое только для среды delphi 7
Борис Ачукин
Все сообразил, и на том спасибо
Евгения Сивидова
Хех, да я разумею
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов