0 / 0 / 0 Регистрация: 11.03.2012 Сообщений: 64 |
|
1 |
|
Найти сумму нечетных элементов массива21.06.2012, 17:24. Показов 53780. Ответов 1
6.4) Дан массив целых чисел. Найти сумму нечетных элементов;
0 |
Amid007 63 / 63 / 51 Регистрация: 20.05.2011 Сообщений: 116 |
||||
22.06.2012, 00:47 |
2 |
|||
Решение
0 |
Формулировка задачи:
необходимо сложить нечетные элементы массива . В конце вывести начальный массив,сумму элементов и частичные суммы если парные элементы положительные, в противном случае вывести «условие не выполняется »
Код к задаче: «Найти сумму нечетных элементов массива»
textual
sum:=0; k:=0; for i:=1 to n do if odd(a[i]) then begin sum:=sum+a[i]; inc(k); end; if k<>0 then writeln(sum) else writeln('Нет нечетных.');
Полезно ли:
11 голосов , оценка 4.091 из 5
// PascalABC.NET 3.2, сборка 1404 от 16.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(10,-99,99); a.Println;
Writeln(‘Сумма элементов с четным значением ‘,
a.Where(x->x.IsEven).Sum);
Writeln(‘Произведение элементов с нечетным значением ‘,
a.Where(x->x.IsOdd).Aggregate(int64(1),(x,y)->x*y))
end.
Пример
45 -95 41 -26 -99 -96 77 -4 18 41
Сумма элементов с четным значением -108
Произведение элементов с нечетным значением 54780974325
Условие задачи : Найти сумму первых n нечетных элементов при помощи цикла for, число элементов должен вводить пользователь (Язык Pascal).
Сложность : легкая.
Содержание
- Решение задачи Pascal
- Для начала давайте создадим каркас нашей программы со всеми нужными переменными , а именно
- Всё решение задачи Pascal
Решение задачи Pascal
Для начала продумаем решение. Сначала пользователь введет число — количество элементов, затем мы пустим цикл от 1 до кол-ва элементов, которое ввел пользователь.
В цикле мы будем каждое число проверять на четность. Если оно не четное, то прибавляем его к общей сумме.
Для начала давайте создадим каркас нашей программы со всеми нужными переменными , а именно
program
summa ;
uses
crt ;
var
sum , i , count :
integer
;
begin
readln ;
{чтобы программа не закрывалась .}
end
.
Теперь давай спросим у пользователя сколько элементов должно быть .
write
(
'Enter the amount of numbers : '
); readln(count);
Переменная count будет служить нам окончанием для цикла . Думаю это понятно .
Дальше можно пускать цикл, но нам нужна сумма только нечетных чисел и здесь нам поможет условие на проверку четности чисел .
И перед началом работы цикла нам нужно присвоить нашей переменной sum ноль чтобы не возникло не каких ошибок .
sum :=
0
;
for
i :=
1
to
count
do
begin
if
(i
mod
2
<>
0
)
then
sum := sum + i ;
end
;
Думаю что здесь не чего сложного нет . Мы просто пускаем цикл и в нем каждое число проверяем на нечетность, т.е. пишем: если(if) остаток от деления(mod) неравен 0 (это будет значить что число не четное) , то мы прибавляем его к нашей сумме .
И теперь нам осталось вывести сумму .
Всё решение задачи Pascal
program
summa ;
uses
crt ;
var
sum , i , count :
integer
;
begin
clrscr ;
{очищаем экран}
write
(
'Enter the amount of numbers : '
); readln(count);
sum :=
0
;
for
i :=
1
to
count
do
begin
if
(i
mod
2
<>
0
)
then
sum := sum + i ;
end
;
writeln
(
'Summa = '
, sum);
{выводи сумму . }
readln ;
{чтобы программа не закрывалась .}
end
.
Предыдущая
ПрограммированиеЗадачи по Pascal. Вычислить сумму ряда чисел 1 + 1/2 + 1/3 + … + 1/n
Следующая
ПрограммированиеЗадачи по Pascal. Числовой пароль
Светило науки — 683 ответа — 0 раз оказано помощи
var a:array[1..1000] of integer;
i,s,n:integer;
begin
write (‘Введите размер массива n= ‘) ; readln(n);
for i:=1 to n do a[i] :=random(50)-30;
for i:=1 to n do write(a[i],’ ‘);
writeln;
s:=0;
for i:= 1 to n do
if a[i] mod 2 <>0 then s :=s+a[i];
writeln(‘Сумма нечетных элементов массива = ‘, s);
end.
2.
var a:array[1..1000] of integer;
i,max,min,n:integer;
begin
write (‘Введите размер массива n= ‘) ; readln(n);
for i:=1 to n do a[i] :=random(50)-30;
for i:=1 to n do write(a[i],’ ‘);
writeln;
max:=-32768; min:=32767;
for i:= 1 to n do
begin
if a[i] >max then max:=a[i];
if a[i] <min then min:=a[i];
end;
writeln(‘Максимальный элемент массива = ‘, max);
writeln(‘Минимальный элемент массива = ‘, min);
end.