Вот программа, ишет числа и выводит массив, не процедура наверное (или я не прав)
Ну что же, с одной стороны, конечно, Ваша квалификация, уважаемый MrПрограМист, заметно возросла, и программа в целом составлена структурно правильно, и тем не менее работать она, увы, не будет. Как я вижу, Вы опять проигнорировали требование и мое, и других участников форума, и выложили написанный от руки листинг без трансляции и тестирования.
Знаете, вот я, имея программистский опыт в несколько десятилетий и будучи автором программ, занимающих отнюдь не пол странички, а сотни страниц, такого себе не позволяю - любая программа, которую я выкладываю (за очень редким исключением) мною обязательно транслируется и тщательно тестируется, и только потом появляется здесь. А Вы, чудо-ребенок, как видно, считаете себя выше этого. Так?
А в данной программе ошибка заложена уже в самОй формулировке. Дело в том, что предложенное имя массива "NEW" свидетельствует о безграмотности составителя задачи, поскольку "NEW" - это зарезервированное служебное слово языка Паскаль, и любой транслятор тут же сообщит об ошибке уже на этапе трансляции.
Далее. Вы не дали себе труда как следует внимательно прочитать условие задачи. В условии требуется собрать в новый массив элементы ДО ПЕРВОГО ПОЛОЖИТЕЛЬНОГО, т.е. как только появилось положительное число, обработку исходного массива следует прекратить и перейти к следующему. Или закончить, если это третий из исходных массивов. Вы же сбрасываете в новый массив все отрицательные элементы всех трех исходных массивов. Это не соответствует задаче.
Не говоря уже о безобразной организации ввода-вывода массивов. Если бы Вы сподобились каким-то чудом запустить своё изделие, Вы бы это увидели и, надеюсь, исправили.
Короче говоря, так.
Если я еще раз увижу выложенный неотлаженный сырец, выдаваемый за рабочую программу, пойдете в бан. Причем вечный. Потому что репутация форума мне небезразлична. А Вы подобными действиями ее подрываете.