Условие задачи : Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.
Сложность : легкая.
Решение задачи
Для того чтобы найти сумму четных элементов массива кроме обычного массива и цикла, тут нам понадобиться еще и условие которое будет проверять наше введенное число на четность.
Первое что мы сделаем мы создадим свой тип данных как и зачем читайте (тут) :
type
massiv =
array
[
1..1000
]
of
integer
;
Теперь какие нам нужны переменные ?
var
mass : massiv;
n , i, summa :
integer
;
Теперь просим пользователя ввести длину массива, и присваиваем нашей сумме 0, для корректной работы.
write
(
'Введите кол-во элементов : '
);readln(n);
summa :=
0
;
Ну теперь стоит сделать цикл, пока что простой в котором мы будем просить пользователя ввести число :
for
i:=
1
to
n
do
begin
write
(
'Введите '
,i,
' элемент : '
); readln(mass[i]);
summa := summa + mass[i];
// считаем сумму
end
;
Т.е. в этом цикле мы считаем сумму всех чисел которые вводим, но нам нужны только четные. Как правильно определить четность числа вы можете посмотреть (тут)
Нечего трудного в этом нет, просто используем операцию mod, которая ищет остаток от деления.
write
(
'Введите '
,i,
' элемент : '
); readln(mass[i]);
if
(mass[i]
mod
2
=
0
)
then
summa := summa + mass[i]
// считаем сумму
else
writeln
(
'Число '
, mass[i],
' нечетное, к сумме прибавлено не будет'
);
Т.е. когда мы вводим число, после этого сразу идет условие, если введенное число четное, то мы прибавляем его к сумме, если нет то выводи сообщение, и сумма при этом не меняется.
Вот и всё решение задачи. Сумма четных элементов массива найдена.
Весь код программы
uses
crt;
type
massiv =
array
[
1..1000
]
of
integer
;
var
mass : massiv;
n , i, summa :
integer
;
begin
clrscr;
write
(
'Введите кол-во элементов : '
);readln(n);
summa :=
0
;
for
i:=
1
to
n
do
begin
write
(
'Введите '
,i,
' элемент : '
); readln(mass[i]);
if
(mass[i]
mod
2
=
0
)
then
summa := summa + mass[i]
// считаем сумму
else
writeln
(
'Число '
, mass[i],
' нечетное, к сумме прибавлено не будет'
);
end
;
writeln
(
'Сумма четных эл-тов равна : '
, summa);
readln;
// чтобы программы не закрывалась.
end
.
Предыдущая
ПрограммированиеЗадачи по Pascal. Произведение нечетных элементов массива.
Следующая
ПрограммированиеЗадачи по Pascal. Найти среднее арифметическое массива.
Формулировка задачи:
Помогите мне, пожалуйста, написать вот эти задачи:
1. Найти сумму четных, положительных элементов массива.
Заранее всем очень благодарна)))
Код к задаче: «Найти сумму четных элементов массива»
textual
const n=5; var i:integer; a:array[1..n] of integer; s:real; begin for i:=1 to n do readln(a[i]); for i:=1 to n do begin if (a[i]>0) and ((a[i] mod 2)=0) then s:=s+a[i];end; writeln('Сумма: ',s); end.
Полезно ли:
5 голосов , оценка 4.200 из 5
Перейти к содержанию
Сумма четных положительных элементов массива
Просмотров 3.9к. Обновлено 15 октября 2021
В массиве, содержащем положительные и отрицательные целые числа, вычислить сумму четных положительных элементов.
В цикле проверяем каждый элемент массива на четность и положительность. Данные условия можно скомбинировать через логическое «И» в заголовке одного условного оператора или использовать два (один вложен в другой) отдельных каждый со своим условием.
Если элемент массива удовлетворяет обоим условиям, то его значение добавляется к переменной, в которой хранится сумма. После цикла ее значение выводится на экран.
Ноль является четным числом, однако он не относится к положительным. Поэтому проверка на положительность — это «больше 0», а не «больше или равно 0». Хотя это не столь важно, так как добавление нуля к сумме ничего не меняет.
Проверку на четность можно выполнить с помощью нахождения остатка от деления на 2. Если остаток равен нулю, то число четное. В ряде языков есть специальные функции, проверяющие четное число или нечетное.
Pascal
сумму четных элементов массива паскаль
const N = 10;
var
a: array[1..N] of integer;
i: byte;
sum: integer;
begin
randomize;
for i:=1 to N do a[i]:=random(10)-5;
for i:=1 to N do write(a[i]:4);
writeln;
sum := 0;
for i:=1 to N do begin
if (a[i]>0) and (odd(a[i])=false) then
sum := sum + a[i];
end;
writeln(sum);
end.
2 -5 2 -1 -4 -5 -5 3 3 -1
4
Язык Си
#include
#define N 10main() {
int a[N];
int i, sum;
srand(time(NULL));
for (i=0; i< N; i++) {
a[i] = rand() % 10 - 5;
printf("%4d", a[i]);
}
printf("n");sum = 0;
for (i=0; i< N; i++)
if (a[i] >= 0 && a[i]%2==0)
sum += a[i];
printf("%dn",sum);
}
-1 4 -5 4 -5 -1 0 1 -2 -5
8
Python
сумму четных элементов массива python (питон)
from random import random
N = 10
arr = [0] * N
for i in range(N):
arr[i] = int(random() * 10) - 5
print(arr)
s = 0
for i in range(N):
if arr[i] >= 0 and arr[i]%2 == 0:
s += arr[i]
print(s)
[2, 2, -2, -3, -3, 1, 4, 4, -5, 2]
14
КуМир
алг сумма чет полож
нач
цел N = 10
цел таб arr[1:N]
цел i,s
нц для i от 1 до N
arr[i] := irand(-5,5)
вывод arr[i]:3
кц
вывод нсs := 0
нц для i от 1 до N
если arr[i] > 0 и mod(arr[i],2) = 0 то
s := s + arr[i]
все
кц
вывод s
кон
-1 -3 5 2 3 4 0 -4 3 -5
6
Basic-256
N = 10
dim arr(N)
for i=0 to N-1
arr[i] = int(rand*10) - 5
print arr[i] + " ";
next is = 0
for i=0 to N-1
if arr[i] > 0 and arr[i]%2 = 0 then
s = s + arr[i]
endif
next i
print s
-4 -5 0 -4 -3 -5 2 4 0 -1
6
Одномерные массивы (последовательности).
- Задачи заполнения
- Задачи анализа
- Задачи поиска
- Задачи перестановки
A: 3,-4,0,3,-5,10,0
A[1]=3, A[3]=0, A[7]=0
I — номер элемента, A[I] — элемент массива, стоящий на I-ом месте
-
1.Сформировать и вывести на экран последовательность из n элементов, заданных датчиком случайных чисел на интервале [-23, 34].
Program posled;
Var a: array[1..100] of integer;
i, n: integer;
Begin
Write (‘Сколько элементов? ’); Readln (n);
For i=1 to n do
begin
a[i]:= Random(58)-23;
writeln (a[i],’ ‘);
end;
End.
2. Найти произведение элементов одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.
Program proisveden;
Var a: array[1..100] of integer;
i, n, p: integer;
Begin
Write (‘Сколько элементов? ’); Readln (n);
p:=1;
For i:=1 to n do
begin
write (‘введите число’); readln (a[i]);
p:=p*a[i];
end;
writeln(‘произведение элементов равно: ‘,p);
End.
3. Найти сумму элементов одномерного массива. Размер произвольный. Элементы вводятся с клавиатуры.
Program summa;
Var a: array[1..100] of real;
i, n: integer;
s: real;
Begin
Write (‘n=’); Readln (n);
s:=0;
For i:=1 to n do
begin
write (‘введите число’); readln (a[i]);
s:=s+a[i];
end;
writeln(‘сумма элементов равна ‘,s);
End.
4. Задан массив А, состоящий из n чисел. Найти среднее арифметическое его элементов. Элементы вводятся с клавиатуры.
Program srednee;
Var a: array[1..100] of real;
i, n: integer;
s,sred: real;
Begin
Write (‘n=’); Readln (n);
s:=0;
For i:=1 to n do
begin
write (‘введите число’); readln (a[i]);
s:=s+a[i];
end;
sred:=s/n;
writeln(‘среднее арифметическое элементов: ‘,s);
End.
5. Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.
Program sumshet;
Var a: array[1..100] of real;
i, n: integer;
s,sred: real;
Begin
Write (‘n=’); Readln (n);
s:=0;
For i:=1 to n do
begin
write (‘введите число’); readln (a[i]);
if i mod 2 = 0 then s:=s+a[i];
end;
writeln(‘сумма элементов с четными номерами: ‘,s);
End.
6. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-19, 26] (размер произвольный). Найти произведение элементов с нечетными номерами.
Program proisvednechet;
Var a: array[1..100] of integer;
i, n, p: integer;
Begin
Write (‘Сколько элементов? ’); Readln (n);
P:=1;
For i=1 to n do
begin
a[i]:= Random(46)-19;
writeln (a[i],’ ‘);
if i mod 2 <> 0 then P=P*a[i];
end;
Writeln(‘Произведение элементов с нечетными номерами:’, P);
End.
7. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-56, 47] (размер произвольный). Найти произведение элементов с четными номерами, которые превосходят некоторое число t.
Program proisvedchetbolt;
Var a: array[1..100] of integer;
i, n, p, t: integer;
Begin
Write (‘Сколько элементов? ’); Readln (n);
P:=1;
For i=1 to n do
begin
a[i]:= Random(104)-56; writeln (a[i],’ ‘);
if (i mod 2 = 0) and (a[i]>t) then P=P*a[i];
end;
Writeln(‘Произведение элементов с четными номерами, превосходящие число t:’, P);
End.
8. Найти наименьший элемент одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.
Program minim;
Var a: array[1..100] of real;
i, n: integer;
min: real;
Begin
Write (‘n=’); Readln (n);
For i:=1 to n do
begin
write(‘a[‘,i,’]=’); readln (a[i]);
end;
min:=a[1];
For i:=2 to n do
If a[i]< min then min:=a[i];
Writeln(‘наименьшее число: ‘,min);
End.
9. Найти номер наименьшего элемента в массиве, заданного датчиком случайных чисел на интервале [-20, 25]. Размер произвольный.
Program numberminim;
Var a: array[1..100] of integer;
i, n, num, min: integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 to n do
begin
a[i]:= Random(46)-20;
writeln (a[i]);
end;
min:=a[1];
num:=1;
For i:=2 to n do
If a[i]< min then
begin
min:=a[i];
num:=i;
end;
Writeln(‘ номер наименьшего элемента: ‘,num);
End.
10. В заданном одномерном массиве, состоящем из n целых чисел, подсчитать количество нулей.
Program kolv0;
Var a: array[1..100] of integer;
i, n, k: integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 to n do
begin
Write(‘a[‘,i,’]=’); readln (a[i]);
if a[i]=0 then k:=k+1;
end;
Writeln(‘количество 0 равно ’, k);
end.
11. В заданном одномерном массиве, состоящем из n целых чисел, подсчитать количество четных элементов.
Program kolvсchet;
Var a: array[1..100] of integer;
i, n, k: integer;
Begin
Write (‘n=’); Readln (n);
For i:=1 to n do
begin
Write(‘a[‘,i,’]=’); readln (a[i]);
if a[i] mod 2=0 then k:=k+1;
end;
Writeln(‘количество четных элементов: ’, k);
end.
12. Найдите среднее арифметическое элементов массива, состоящего из 10 чисел, которые превышают по величине число С. Элементы вводятся с клавиатуры.
Program sredarifmet;
Var a: array[1..10] of real;
i, k: integer;
C, S, sred: real;
Begin
For i:=1 to 10 do
begin
write(‘a[‘,i,’]=’); readln (a[i]);
end;
write(‘введите С: ‘); readln (C );
For i:=1 to 10 do
begin
If a[i]>C then
begin S=S+a[i]; K=K+1; end;
end;
sred=S/k;
Writeln(‘среднее арифметическое чисел, превосходящих ‘,C,’ равно ‘,sred);
End.
13. Найти произведение элементов целочисленного одномерного массива с четными номерами, состоящего из n элементов. Элементы вводятся с клавиатуры.
Program proizved_chet;
Var a: array [1..100] of integer;
i, n, p: integer;
Begin
p:=1;
write (‘n=’); readln (n);
for i:=1 to n do
begin
write (‘a[‘,i,’]=’); readln (a[i]);
if i mod 2=0 then p:=p*a[i];
end;
Writeln (‘произведение элементов массива с четными номерами равно ‘,p);
End.
14. В заданном одномерном массиве поменять местами соседние элементы.
Var
n, i, c : integer;
a : array [1..1000] of integer;
begin
read (n);
for i := 1 to n do read (a[i]);
for i := 1 to n div 2 do
begin
c := a[i*2];
a[i*2] := a[i*2-1];
a[i*2-1] := c;
end;
for i := 1 to n do
write (a[i], ‘ ‘);
end.
15. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из четных элементов массива А. Элементы вводятся с клавиатуры. Размер n.
Program newmasiv;
Var a: array[1..100] of integer;
b: array[1..100] of integer;
n, i, k: integer;
Begin
kol:=0; k:=0;
write (‘n=’); readln (n);
For i:=1 to n do
begin
write(‘a[‘,i,’]=’); readln (a[i]);
if a[i] mod 2=0 then
begin
k:=k+1; b[k]:=a[i]; kol:=kol+1;
end;
if kol=0 then writeln(‘четных элементов нет’) else
for k:=1 to kol do write(‘b[‘,k,’]=’,b[k]);
end;
program zz1;
const n = 3;
m = 3; / / задаем количество элементов в массиве
var i, j, k:integer; / / задаем переменные целого типа
b:array [1 … n, 1 … m] of integer;
begin
for i:=1 to n do
for j:=1 to m do / / вводим числа с клавиатуры и записываем их в массив
read (b[i, j]);
for i:=1 to n do / / выводим полученный массив на экран
begin
for j:=1 to m do
write (b[i, j]:4);
writeln;
end;
for i:=1 to n do
for j:=1 to m do
if b[i, j] mod 2 = 0 then k:=k + b[i, j];
writeln (‘ сумма четных элементов массива = ‘, k); / /выводим ответ
end.