Содержание
Задача
В одномерном массиве найти количество положительных элементов.
Решение
N — количество элементов в массиве;
arr — одномерный массив, содержащий N элементов;
i — переменная-счетчик;
count — счетчик для положительных элементов массива.
Алгоритм решения задачи:
Это простая задача. Необходимо перебрать все элементы массива в цикле (обычно используется for) и сравнить их с нулем (с помощью условного оператора if, вложенного в цикл). Если текущий элемент массива больше нуля, то следует увеличить на единицу счетчик положительных элементов, которому до цикла присваивается значение 0 (т. к. еще ни одного положительного элемента массива не найдено). После завершения цикла значением данного счетчика будет найденное количество положительных элементов массива.
В программе ниже в одном и том же цикле происходит заполнение массива случайными числами и последующая проверка каждого элемента на положительность. В программе можно было бы использовать два цикла: один — для заполнения массива, второй — для поиска количества положительных элементов. К сути данной задачи имеет отношение только второй цикл.
Программа на языке Паскаль:
Пример выполнения программы, определяющей количество положительных элементов массива.
Найти сумму положительных элементов линейного массива целых чисел на языке программирования Паскаль
В начале программы объявляются целые переменные sum, i и одномерный массив целых чисел m: array[1..10] of Integer.
Натуральное число N вводится с клавиатуры. Далее в цикле, организованном с помощью оператора FOR осуществляется ввод элементов массива. После ввода элементов цикл заканчивается и начинается следующий, где проверяется, положительный ли элемент. В случае истинности этого условия, элемент ряда суммируется с переменной sum. После выхода из цикла выводится полученная сумма функцией write (). На этом программа заканчивается.
Блок-схема алгоритма подсчета суммы положительных элементов одномерного массива.
Алгоритм программы представлен в виде блок-схемы:
Текст программы на языке Pascal
В среде программирования на языке Pascal, например, Borland Pascal 7.0 вводим текст программы:
var
m: array[1..10] of Integer; // объявление массива
sum, i: Integer; // объявление целых переменных
begin // начало программы
clrscr; // очистка экрана
sum:=0; //приравнивание к нулю начального значения суммы
for i:=1 to 10 do // объявление цикла от 1 до 10
begin
write ('m[',i,']=');
readLn (m[i]) // ввод I-го элемента массива
end;
for i:=1 to 10 do // объявление цикла от 1 до 10
if (m[i]>0) then // проверка , оложителен ли i-ый элемент одномерного массива
sum:=sum+m[i]; // подсчет суммы положительных элементов массива
writeln ('Summa = ',sum); // вывод полученной суммы после завершения цикла
readkey // ожидание нажатия клавиши
После компиляции программы и запуска на выполнение получаем результат:
var
j,km,kp:integer;
a:array[1..20] of integer;
begin
// Тут ввод элементов массива сделай
for j:=-1 to 1 do c[j]:=0;
for j:=1 to n do inc (c[sgn(a[j])]);
writeln ('Neg. count=',c[-1]);
writeln ('Pos. count=',c[1]);
end.