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