Найти среднее арифметическое всех отрицательных элементов массива, а из оставшихся сформировать новый массив - Turbo Pascal
Формулировка задачи:
В массиве а1, а2, ..., а30 найти среднее арифметическое всех отрицательных элементов, а из оставшихся сформировать новый массив bk. Буду очень благодарен.
Решение задачи: «Найти среднее арифметическое всех отрицательных элементов массива, а из оставшихся сформировать новый массив»
textual
Листинг программы
uses SysUtils; var a: array [0..100] of Integer; b: array [0..100] of Integer; i,j,m,N: Integer; S: Real; begin //Число элементов Readln(N); //Ввод значенией элементов for i := 1 to N do begin Readln(a[i]); end; //Вывод элементов на экран for i := 1 to N do begin Write(a[i]); end; s:=0; m:=1; j:=1; Writeln; //Нахождение среднего арифметического отрицательных чисел for i := 1 to N do begin if a[i]<0 then begin S:=(S+a[i])/m; m:=m+1; end Else begin b[j]:=a[i]; j:=j+1; end; end; //Вывод нового массива на экран for i := 1 to j-1 do begin Write(b[i]); end; Writeln; Writeln(S:3:2); Readln; end.
Объяснение кода листинга программы
- Создаются два массива
aиbразмером 100 для хранения вводимых значений. - Вводится количество элементов
N. - Для каждого элемента
iот 1 доNпроисходит чтение значения и его сохранение в соответствующий элемент массиваa. - Выводится содержимое массива
aна экран. - Инициализируются переменные
S,mиjдля вычисления среднего арифметического и сохранения отрицательных чисел. - Запускается цикл по всем элементам массива
a. - Если значение элемента
a[i]отрицательное, то вычисляется среднее арифметическоеSи увеличивается счетчикm. - Если значение элемента
a[i]положительное, то значение сохраняется в массивb, а счетчикjувеличивается на 1. - После завершения цикла выводится новый массив
bна экран. - Выводится среднее арифметическое
Sна экран.