Помогите пожалуйста написать 3 задания ** Паскалье. 1. Дан одномерный массив А из n...

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

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


Информатика (26 баллов) | 25 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// 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('Нет совпадений')<br>  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

(142k баллов)