СРОЧНО!!! ПАСКАЛЬ!!! 1. Найти порядковые номера минимальных и максимальных из данных...

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

СРОЧНО!!! ПАСКАЛЬ!!!

1. Найти порядковые номера минимальных и максимальных из данных 10-ти элементов. Все положительные элементы массива заменить на минимальный элемент.

2. В одномерном массиве элементы размещены следующим образом: первые элементы - значение аргумента, во второй половине массива – соответствующие им значения функции. Напечатать элементы этого массива в виде двух параллельных столбцов (значение аргумента и значение функции).

Спасибо.


Информатика (93 баллов) | 28 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(10,-20,20); a.Println;
  var (min,max):=(a.Min,a.Max);
  Write('Номера минимальных элементов: ');
  a.IndexesOf(t->t=min).Select(t->t+1).Println;
  Write('Номера максимальных элементов: ');
  a.IndexesOf(t->t=max).Select(t->t+1).Println;
  a.Transform(t->t>0?min:t); a.Println
end.

Пример
6 -2 16 -1 -20 2 -9 0 16 15
Номера минимальных элементов: 5
Номера максимальных элементов: 3 9
-20 -2 -20 -1 -20 -20 -9 0 -20 -20

begin
  // создание массива
  var n:=ReadInteger('n=');
  var a:=new integer[2*n];
  for var i:=0 to n-1 do
    (a[i],a[i+n]):=(i+1,5*(Sqr(i+1)+3));
  a.Println;
  // собственно решение
  for var i:=0 to n-1 do
    Writeln(a[i]:2,a[i+n]:8)
end.

Пример
n= 7
1 2 3 4 5 6 7 20 35 60 95 140 195 260
 1      20
 2      35
 3      60
 4      95
 5     140
 6     195
 7     260
(150k баллов)
0

СПАСИБО!