Написать 3 на паскалье. 1. дан одномерный массив а из n элементов. вводится число b. определить, содержится ли b среди элементов массива. вывести индекс первого совпадения, или сообщение, что совпадений нет. 2. дан одномерный массив а из n элементов. вводится число b. определить количество совпадений b с элементами массива. 3. дан одномерный массив а из n элементов. определить, существует ли элемент, равный сумме всех последующих за ним элементов.

liz93 liz93    1   23.07.2019 05:30    0

Ответы
DarkWolf11 DarkWolf11  03.10.2020 11:22
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  // общая часть
  var a:=ReadArrInteger('Массив:',ReadInteger('n='));
  var b:=ReadInteger('b=');
  // часть для задачи 1
  var i:=a.IndexOf(b);
  if i<0 then Writeln('Нет совпадений')
  else WritelnFormat('1. A[{0}]={1}',i+1,a[i]);
  // часть для задачи 2
  Writeln('2. k=',a.Where(x->x=b).Count);
  // часть для задачи 3
  var s:=a.Select((x,i)->x=a[i+1:a.Length].Sum).ToArray;
  var k:=s.IndexOf(True);
  if k>=0 then WritelnFormat('3. A[{0}]={1}',k+1,a[k])
  else Writeln('3. Не существует')
end.

Тестовое решение:
n= 10
Массив: -9 21 0 -9 21 6 -2 14 18 -15
b= -9
1. A[1]=-9
2. k=2
3. A[5]=21
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика