Паскаль авс.net . дано одномерный массив длиной n. "сжать "его , изъяв все отрицательные элементы.
232
258
Ответы на вопрос:
// 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. думаю, есть о чем подумать: почему в школе учат писать длинно и сложно?
На этот раз вроде бы и не торопился, все просмотрел (но наверняка, как всегда что-нибудь и кажется мне, что "школьное" решение уважаемого эникея не удовлетворяет поставленной (боюсь, что опять придется извиняться, но все же рискну). из массива не удалены все отрицательные элементы. их не видно, потому что распечатывается не весь массив. на первом скане видно, что при вводе массива (-1,-2,3,4,-5) элементы 4 и -5 остались на своих местах, просто они не выводятся на печать. вот поэтому я считаю, что это решение некорректно, поставленная не выполнена. свой вариант решения привожу на втором скане.
Популярно: Информатика
-
GrigoriyPokoti18.10.2020 12:45
-
Морти11126.02.2021 15:08
-
vadim255631.10.2021 17:15
-
15gallagher20.10.2020 13:09
-
vkonareva14.02.2023 21:53
-
PowerDrist17.10.2021 04:33
-
Almazik2005611.02.2023 13:42
-
otero0206.10.2022 20:56
-
rickharmon08.02.2020 21:55
-
Alisacollins117.09.2022 20:15