паскаль АВС.net .Дано одномерный массив длиной n. «сжать «его , изъяв все отрицательные элементы.

Вопрос школьника по предмету Информатика

паскаль АВС.net .
Дано одномерный массив длиной n. «сжать «его , изъяв все отрицательные элементы.

Ответ учителя по предмету Информатика

// PascalABC.NET 3.2, сборка 1389 от 01.03.2017

// Внимание! Если программа не работает, обновите версию!

begin

  var a:=ReadArrInteger(‘Вводите’,ReadInteger(‘n=’));

  a:=a.Where(x->x>=0).ToArray; a.Println

end.

Пример

n= 5

Вводите 3 -2 0 -1 5 8

3 0 5

То же, в терминах Pascal ABC («по-школьному»)

const

  k=50;

var

  n,i,m:integer;

  a,t:array[1..k] of integer;

begin

  Write(‘n=’); Read(n);

  Write(‘Вводите: ‘);

  for i:=1 to n do Read(a[i]);

  m:=0;

  for i:=1 to n do

    if a[i]>=0 then begin

      m:=m+1;

      t[m]:=a[i]

      end;

  n:=m;

  for i:=1 to n do begin

    a[i]:=t[i];

    Write(a[i],’ ‘)

    end;

  Writeln

end.

Думаю, есть о чем подумать: почему в школе учат писать длинно и сложно?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей