Задача 6
1. Постановка задачи.
Дан одномерный массив. Найти его среднее арифметическое. Составить второй массив, элементами которого будут элементы первого массива, которые больше среднего арифметического. Остальные элементы заменить нулями. Массив отсортировать по убыванию.
2. Математическая модель.
Если a[i] mod 2 = 0 то sum=sum+a[i]
3. Блок-схема
4. Список идентификаторов.
Имя | Смысл | Тип |
A | Элементы массива | Integer |
N | Кол-во элементов массива | Integer |
I | Счетчик | Integer |
Sum | Сумма четных элементов | Integer |
5. Код программы.
program z6;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, Math;
var a,c:array of integer;
i, n, b, k, m,j :integer;
sr :real;
begin
writeln ('Введите кол-во эл-тов массива');
readln (n);
writeln ('Введите эл-ты массива');
setlength (a, n);
setlength (c, n);
for i := 1 to n do
read (a[i]);
for i := 1 to n do
sr := sr+a[i];
sr := sr/n;
for i := 1 to n do
if a[i]>sr then
c[i]:=a[i]
else
c[i]:=0;
for i := 1 to n-1 do
begin
k:= n-i+1;
m:= k;
for j:= 1 to N-i do
if c[j] < c[m]
then m := j;
b:= c[k];
c[k]:= c[m];
c[m]:= b
end;
for i := 1 to n do
write (c[i], ' ');
readln (i);
end.
6. Результаты выполнения программы.