
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать значения от -10000 до
10000. Написать алгоритм, который находит и выводит среднее арифметическое всех отрицательных элементов массива, оканчивающихся цифрой 7. Гарантируется, что хотя бы один такой элемент в массиве есть. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. const N=40 var a:array [1..N] of integer; i, s, r, x: integer; sr: real; begin for i:=1 to N do readln (a[i]); ..... end.

Ответы на вопрос

//Дан целочисленный массив из 40 элементов. Элементы массива могут
//принимать значения от -10000 до 10000. Написать алгоритм, который
//находит и выводит среднее арифметическое всех отрицательных элементов
//массива, оканчивающихся цифрой 7. Гарантируется, что хотя бы один
//такой элемент в массиве есть. Исходные данные объявлены так, как
//показано ниже. Запрещается использовать переменные, не описанные
//ниже, но разрешается не использовать часть из них.
const
N = 40;
var
//a : array[1..N] of integer;
i, s, r, x : integer;
sr: real;
begin
//Для любителей заполнять вручную:
//for i := 1 to 40 do readln(a[i]);
//Заполним массив 40-ка случайными значениями
var a := ArrRandomInteger(N+1, -10000, 10000);
//Гарантировано разместим число, оканчивающееся на 7
a[Random(0,40)] := -10 * Random(0,999) - 7;
//Уберем лишний элемент, созданный автоматически
a[0] := 0;
//Напечатаем массив
a.println;
writeln('----------------');
//Просмотрим весь массив и найдя отрицательное, оканчивающееся на 7
//число, учтём его
foreach i in a do
if (i < 0) and (i mod 10 = -7) then begin
r += i; s += 1; write(i,' ')
end;
//Выведем среднее арифметическое
writeln('Ср.ар: ',r/s)
end.



Я могу помочь вам с написанием кода на разных языках программирования. Вы попросили меня написать алгоритм на языке Паскаль, который находит и выводит среднее арифметическое всех отрицательных элементов массива, оканчивающихся цифрой 7. Вот один из возможных вариантов решения этой задачи:
``` const N = 40; var a: array [1..N] of integer; i, s, r, x: integer; sr: real; begin for i := 1 to N do readln(a[i]); // считываем массив s := 0; // сумма отрицательных элементов, оканчивающихся на 7 r := 0; // количество таких элементов for i := 1 to N do // перебираем все элементы массива begin x := a[i]; // текущий элемент if (x < 0) and (x mod 10 = -7) then // если он отрицателен и оканчивается на 7 begin s := s + x; // добавляем его к сумме r := r + 1; // увеличиваем количество end; end; sr := s / r; // вычисляем среднее арифметическое writeln('Среднее арифметическое отрицательных элементов, оканчивающихся на 7, равно ', sr:0:2); // выводим ответ с двумя знаками после запятой end. ```
Надеюсь, что это было полезно для вас. Если у вас есть еще вопросы или пожелания, я буду рад с вами пообщаться. Спасибо за использование Bing!


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili