Консультация № 189411
18.05.2016, 17:02
0.00 руб.
0 3 2
Здравствуйте! У меня возникли сложности с таким вопросом:

написать программу на языке Паскаль:
Найдите суммы элементов массива четных и нечетных пози-
ций.

Обсуждение

давно
Профессионал
153662
1070
18.05.2016, 18:34
общий
это ответ
Здравствуйте, amelya.kuro!
Можно так:
[code lang=pascal]{$APPTYPE CONSOLE}

uses
SysUtils;

var
a: array[1..10] of integer;
i, x, y: integer;
begin
x:= 0;
y:= 0;
{создаем массив a}
for i:= 1 to 10 do
begin
a[i]:= random(100);
write(a[i]:3);
end;
writeln;
{находим суммы чётных и нечётных позиций}
for i:= 1 to 10 do
begin
if i mod 2 = 0 then
x:= x + a[i]
else
y:= y + a[i];
end;
{выводим результат}
write('summa chetnyh ');
write(x);
writeln;
write('summa ne chetnyh ');
write(y);

end.[/code]
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

давно
Старший Модератор
31795
6196
18.05.2016, 18:51
общий
это ответ
Здравствуйте, amelya.kuro!

А можно так:
[code lang=pascal h=100]const
n=20;
var
c,d,e:integer;
z:array[1..n]of integer;
begin
for c:=1 to n do
begin
z[c]:=random(50);{создаем элемент}
if odd(c)then d:=d+z[c] else e:=e+z[c];{суммируем п заданию}
write(z[c]:3);
end;
writeln;{выводим результат}
writeln('summa odd position:',d:5);
writeln('summa even position:',e:5);
end.[/code]

И с произведением:
[code lang=pascal h=100]const
n=20;
var
c,d,e:integer;
z:array[1..n]of integer;
begin
d:=1;
e:=1;
for c:=1 to n do
begin
z[c]:=random(50);{создаем элемент}
if odd(c)then d:=d*z[c] else e:=e*z[c];{умножаем по заданию}
write(z[c]:3);{}
end;
writeln;{выводим результат}
writeln('summa odd position:',d:5);
writeln('summa even position:',e:5);
end.[/code]

Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
28.05.2016, 18:52
общий
как можно обойтись без odd?
Форма ответа