Заданы 2 одномерных массива. Сформировать третий из элементов с нечетными индексами обоих...

0 голосов
116 просмотров

Заданы 2 одномерных массива. Сформировать третий из элементов с нечетными индексами обоих массивов и положительных элементов второго массива


Информатика (24 баллов) | 116 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const n=5;
var
i,q:integer;
a:array [1..n] of integer;
b:array [1..n] of integer;
c:array [1..50] of integer;
begin
writeln ('Заполните первый массив');
for i:=1 to n do
read (a[i])                      ;
writeln ('Заполните второй массив') ;
for i:=1 to n do
read (b[i]);
for i:=1 to n do begin
if i mod 2<>0 
then begin q:=q+1;
c[q]:=a[i]; 
q:=q+1;
c[q]:=b[i]; 
end; 
end;
for i:=1 to n do 
if b[i]>0 
then begin   
q:=q+1;   
c[q]:=b[i]; 
 end; 
if q=0 
then writeln ('условие не выполняется') 
else begin
for i:=1 to q do
write (' ',c[i]);
end
end.

P.s. Вы можете изменять константу, и ограничивать вводимые значения вводом, но не забывайте, что первые два массива не должны превышать количество ячеек, ограниченной константой. Можно эту константу поменять, это все на ваше усмотрение.
P.p.s. Программа написана на Pascal ABC.

(996 баллов)
0

спасибо большое)

0

Кнопочка сверху :)

0

Дурацкий вопрос: почему размеры массивов a, b равны n, а с - 50? Ведь максимальное число его элементов не может быть больше 2n

0

Точнее, 2n при четном n и 2(n+1) при нечетном n

0

Просто мне так удобнее было. Можно конечно и 3n сделать, или 15

0

Паскаль позволяет записать в объявлении массива границу в виде [1..3*n]

0

Нет, скорее всего не позволяет. Поэтому я и записал 50, чтобы сильно не париться, но там 15 вполне хватить должно

0

Pascal.ABC точно позволяет. Проверено лично.

0

Конечно, если предварительно n объявлено константой