Задать одномерный числовой массив А [15] из целых чисел. Сформировать одномерный массив В из положительных элементов массива А.
Математическая формулировка задачи:
Прежде всего нужно заполнить исходный массив А какими-либо числами. Часть из них могут быть положительными, а часть отрицательными или равными нулю.
Чтобы получить одномерный массив В из элементов исходного массива А нужно просматривать массив А в цикле и проверять каждый элемент исходного массива, является ли его значение положительным. Если найден положительный элемент, то его значение нужно записать в первую ячейку нового массива В (присвоить элементу массива В значение элемента массива А). Затем просмотр продолжается. Отыскав второе положительное значение, записываем его во вторую ячейку массива В и так далее.
Обратите внимание, что увеличение индексов (номеров) элементов массива В идет не одновременно с увеличением индексов массива А. В самом деле, ведь не каждый элемент массива А попадет в массив В. Даже количество элементов массива В заранее не известно (это будет зависеть от конкретных данных массива А). Поэтому понадобится одна переменная для индексации массива А и другая переменная для индексации массива В, причем увеличение индекса в массиве В будет происходить только в тот момент, когда очередному элементу массива В присваивается найденный в массиве А положительный элемент.
-59
-8
-36
-29
-4
-74
-48
Порядковые номера элементов массива ( индексы )
A [15] –исходный одномерный массив.
В [6] –одномерный массив, сформированный из положительных элементов массива А.
Текст программы к задаче 8.2:
ProgramEx_8_2;
Uses Crt;
TypeMas = array [1..15] of integer; { объявляем тип массив из 10 целых чисел }
VarA, В : Mas; { переменные A, В типа массив }
i: integer; { индексы массива A}
k: integer; { индексы массива В }
Begin
ClrScr; { очищение экрана }
Randomize;
For i:=1 to 15 do begin
A[i]:=random(200)-100;
Write(A[i]:5); { вывод элементов массива в одну строку }
End;
Writeln; { перевод строки }
k:=0;
For i:=1 to 15 do begin
IfA[i]>0 then begin
k:=k+1; { увеличение индекса массива В }
B[k]:=A[i]; { записываем положительный элемент массива А в массив В }
Write(B[k]:5); { выводим элементы массива В на экран }