Условие задачи : Найти сумму четных и произведение нечетных элементов(чисел) массива.
Сложность : легкая .
Решение задачи :
Для начала продумаем наше решение. Само собой сначала создадим массив.
Затем начнем его заполнять с помощью цикла for, и каждый введенное число мы будем проверять на четность, т.е. если число четное то ищем сумму если нет то произведение.
И так погнали, создаем массив и у него будет свой тип данных, зачем читайте (тут)
type massiv = array [1.100] of integer; // объявляем свой тип данных var mass : massiv ;
Теперь надо подумать какие переменные нам нужны :
- Для массива, уже создали (mass).
- Для суммы четных чисел (sum)
- Для произведения нечетных чисел (proiz)
- Для цикла for, хоть как —- i
- И для кол-ва элементов массива —- n
var mass : massiv ; sum, proiz , i , n: integer;
Дальше просим пользователя ввести длину массива , ну и присвоим переменным sum и proiz начальные значения, чтобы всё у нас работало правильно :
write('Введите длину массива : '); readln(n); sum := 0 ; proiz := 1 ; // единица потому что у нас умножение, если умножать на 0 будет 0 всегда!!
Теперь цикл , как и сказал в нем мы будем просить пользователя ввести число а потом эти числа проверять на четность :
for i:=1 to n do begin write('Введите ', i , ' элемент : '); readln(mass[i]); if (mass[i] mod 2 = 0) then sum := sum + mass[i] else proiz := proiz * mass[i]; end;
Т.е. если число четное то мы считаем сумму , иначе произведение. Всё очень просто. Теперь надо просто вывести результат:
writeln('Сумма четных чисел равна ', sum); writeln('Произведение нечетных чисел равно ', proiz);
Всё решение задачи :
uses crt; type massiv = array [1..100] of integer; // объявляем свой тип данных var mass : massiv ; sum, proiz , i , n: integer; begin clrscr; write('Введите длину массива : '); readln(n); sum := 0 ; proiz := 1 ; // единица потому что у нас умножение, если умножать на 0 будет 0 всегда!! for i:=1 to n do begin write('Введите ', i , ' элемент : '); readln(mass[i]); if (mass[i] mod 2 = 0) then sum := sum + mass[i] else proiz := proiz * mass[i]; end; writeln('Сумма четных равна ', sum); writeln('Произведение нечетных равно ', proiz); readln; // чтобы программа не закрывалась end.