• Кто, что сможет. Решите, пожалуйста на Паскале

    2а.1. Найти номер первого отрицательного элемента массива.
    2а.2. Найти значение и номер последнего четного положительного элемента.
    2а.3. Найти номер второго элемента, кратного 5.
    2а.4. Сколько положительных чисел между вторым и третьим нулевыми элементами?
    2а.5. Напечатать номера первых четырех положительных элементов.
    2а.6. Найти номера первого и последнего отрицательных элементов.
    2а.7. Сколько четных элементов находится между первым положительным и последним отрицательными элементами.

Ответы 2

  • Спасибо огромное!!!
    • Автор:

      aurora
    • 5 лет назад
    • 0
  •  // PascalABC.NET 3.3, сборка 1634 от 14.02.2018// Внимание! Если программа не работает, обновите версию!begin  var a:=ArrRandom(ReadInteger('n='),-11,11); a.Println;  // 1  begin    var s:=a.Where(t->t<0);    if s.Count=0 then      Writeln('1. Нет отрицательных элементов')    else       Writeln('1. Первый отрицательный элемент номер ',          a.IndexOf(s.First)+1)  end;  // 2  begin    var s:=a.Select((v,i)->(v,i)).Where(t->(t[0]>0) and t[0].IsEven);    if s.Count=0 then      Writeln('2. Нет четных положительных элементов')    else begin      var r:=s.Last;      Writeln('2. Последний четный положительный элемент номер ',r[1]+1,          ', значение ',r[0])      end  end;  // 3  begin    var s:=a.Select((v,i)->(v,i)).Where(t->t[0] mod 5=0);    if s.Count<2 then      Writeln('3. Нет двух элементов, кратных 5')    else      Writeln('3. Номер второго элемента, кратного 5, равен ',          (s.Skip(1).Take(1)).First[1]+1)  end;  // 4  begin    var s:=a.Select((v,i)->(v,i)).Where(t->t[0]=0);    if s.Count<3 then      Writeln('4. Нет трех нулевых элементов')    else begin      s:=s.Skip(1).Take(2);      Writeln('4. Количество положительных элементов между ',          'вторым и третьим нулевыми элементами равно ',          a[s.First[1]+1:s.Last[1]].Where(t->t>0).Count)      end  end;      // 5  begin    var s:=a.IndexesOf(t->t>0).Take(4).Select(t->t+1);    if s.Count<4 then      Writeln('5. Нет четырех положительных элементов')    else begin      Write('5. Номера первых четырех положительных элементов: ');      s.Println      end  end;  // 6  begin    var s:=a.IndexesOf(t->t<0);    if s.Count=0 then      Writeln('6. Нет отрицательных элементов')    else      Writeln('6. Номера первого и последнего отрицательных элементов: ',          s.First+1,' ',s.Last+1)  end;  // 7  begin    var s:=a.IndexesOf(t->t>0);    if s.Count=0 then      Writeln('7. Нет положительных элементов')    else begin      var i1:=s.First;      s:=a.IndexesOf(t->t<0);      if s.Count=0 then        Writeln('7. Нет отрицательных элементов')      else begin        var i2:=s.Last;        Writeln('7. Количество четных элементов между первым ',            'положительным и последним отрицательными элементами: ',            a?[i1+1:i2].Where(t->t.IsEven).Count)        end      end    endend.
    answer img
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years