В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Kiska89
Kiska89
14.04.2020 13:43 •  Информатика

Паскаль авс.net . дано одномерный массив длиной n. "сжать "его , изъяв все отрицательные элементы.

Показать ответ
Ответ:
koksimarinaoz29ru
koksimarinaoz29ru
05.10.2020 17:00
// 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.

Думаю, есть о чем подумать: почему в школе учат писать длинно и сложно?
0,0(0 оценок)
Ответ:
kazymbietova71
kazymbietova71
05.10.2020 17:00
На этот раз вроде бы и не торопился, все просмотрел (но наверняка, как всегда что-нибудь просмотрел)))), и кажется мне, что "школьное" решение уважаемого Эникея не удовлетворяет поставленной задаче (боюсь, что опять придется извиняться, но все же рискну).
Из массива не удалены все отрицательные элементы. Их не видно, потому что распечатывается не весь массив. На первом скане видно, что при вводе массива (-1,-2,3,4,-5) элементы 4 и -5 остались на своих местах, просто они не выводятся на печать. Вот поэтому я считаю, что это решение некорректно, поставленная задача не выполнена.
Свой вариант решения привожу на втором скане.
Паскаль авс.net . дано одномерный массив длиной n. сжать его , изъяв все отрицательные элементы.
Паскаль авс.net . дано одномерный массив длиной n. сжать его , изъяв все отрицательные элементы.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота