Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Вычисление суммы и количества элементов массива с заданными свойствами

Еще одна задача — посчитать сумму элементов, которые удовлетворяют какому-то условию. Наверное, вы уже поняли общий принцип: перебираем все элементы массива (цикл for) и проверяем для каждого элемента выполнение условия (оператор if).
Если условие выполнено, добавим элемент к сумме (S := S+A[i]).

Пример 8.5.
Вычисление суммы положительных элементов массива

program PositivSumm;
const N=10; .
type Mas=array [1..N] of integer;
var a: Mas;
i: integer; { Счетчик цикла}
S: integer; { Копилка - переменная для суммирования , положительных элементов }
begin
{ Заполним массив случайными числами в диапазоне -100. .+100 }
randomize;
for i:=1 to N do
begin
a[i]:=-100+random(201);
write(a[i]:5)
end;
writeln;
{ Присвоим переменным начальные значения }
S:=0; { Переменная S - аккумулятор. Она будет накапливать фшу всех положительных элементов. Нужно присвоить ей такое начальное значение, чтобы оно не повлияло на результат суммирования. Таким числом является ноль }
for i:=l to N do { Перебираем все элементы массива }
if A[i]>0 then { Проверяем каждый элемент на положительность }
S:=S+A[i]; { Если элемент положительный, добавляем значение элемента к аккумулятору }
{ Выводим результат на экран: }
writeln('Сумма положительных элементов=',S);
readln
end.

 

Вот задача, очень похожая на предыдущую: посчитать количество элементов массива с указанными свойствами. Решается аналогично: переберем все элементы, проверим для каждого условие и, если оно выполнено, увеличим счетчик на единицу (к := к+1).

 

Пример 8.6.
Вычисление количества четных элементов массива (блок-схема алгоритма показана на рис. 8.7)

program EvenCount;
const N=10:
type Mas=array [1..N] of integer;
var a:Mas;
i:integer; { Счетчик цикла }
К:integer; { Копилка - переменная для подсчета количества четных элементов }
begin
{ Заполним массив случайными числами в диапазоне +10..+100 }
randomize;
for i:=1 to N do
begin
a[i]:=+10+random(91);
write(a[i]:5)
end;
writeln;
{ Присвоим переменным начальные значения }
К:=0; { Переменная К - счетчик. Она будет выполнять ту же функцию, что и пальцы на руке при счете: каждый раз, когда будет встречаться четное число, будем загибать один палец, то есть увеличивать переменную К на единицу. В начале нужно присвоить ей такое значение, чтобы оно не повлияло на результат суммирования. Таким числом является ноль }
for i:=l to N do { Перебираем все элементы массива }
if a[i] mod 2=0 then { Проверяем.каждый элемент на четность, то есть проверяем, что остаток от деления этого элемента массива на 2 равен нулю }
К:=К+1; { Если элемент четный, увеличиваем счетчик на единицу }
{ Выводим результат на экран: }
writeln ( 'Количество четных элементов=' ,K) ;
readln
end.




 

Комментарии:

2015-04-10 ответил Мирелиш

Жесть просто. :/



2016-01-22 ответил deb

wefwe




Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru