Вопрос задан 29.07.2023 в 17:59.
Предмет Информатика.
Спрашивает Дятлова Настя.
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от –1000 до
1000. Опишите алгоритм, который находит и выводит среднее арифметическое всех элементов массива, оканчивающихся цифрой 5. Если таких чисел нет, нужно вывести сообщение ″Таких чисел нет″. На языке паскаль. Даю 15 балловОтветы на вопрос
Отвечает Скрябина Елизавета.
PascalABC.NET 3.4.0, сборка 1670 от 23.05.2018
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(30,-1000,1000); a.Println;
var m:=a.Where(t->Abs(t) mod 10=5).DefaultIfEmpty.Average;
if m=0 then Writeln('Таких чисел нет')
else Writeln('Искомое среднее равно ',m)
end.
Пример
833 -831 -175 -431 -34 796 266 637 -888 779 835 739 -28 127 346 734 -820 -906 -71 -334 680 -774 978 431 574 -666 -508 -360 990 589
Искомое среднее равно 330
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(30,-1000,1000); a.Println;
var m:=a.Where(t->Abs(t) mod 10=5).DefaultIfEmpty.Average;
if m=0 then Writeln('Таких чисел нет')
else Writeln('Искомое среднее равно ',m)
end.
Пример
833 -831 -175 -431 -34 796 266 637 -888 779 835 739 -28 127 346 734 -820 -906 -71 -334 680 -774 978 431 574 -666 -508 -360 990 589
Искомое среднее равно 330
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи на языке Pascal, можно использовать следующий алгоритм:
pascalprogram AverageEndingWith5; const N = 30; // Количество элементов в массиве var arr: array[1..N] of integer; count, sum: integer; i: integer; found: boolean; begin // Вводим элементы массива writeln('Введите ', N, ' элементов массива:'); for i := 1 to N do readln(arr[i]); // Инициализируем переменные count := 0; // Количество элементов оканчивающихся на 5 sum := 0; // Сумма элементов оканчивающихся на 5 found := false; // Флаг, который поможет проверить, были ли такие числа в массиве // Обходим все элементы массива for i := 1 to N do begin // Проверяем, оканчивается ли текущий элемент на 5 if arr[i] mod 10 = 5 then begin count := count + 1; sum := sum + arr[i]; found := true; end; end; // Если найдены элементы, оканчивающиеся на 5, выводим их среднее арифметическое if found then writeln('Среднее арифметическое элементов, оканчивающихся на 5: ', sum / count) else writeln('Таких чисел нет'); readln; end.
Алгоритм просто проходит по всем элементам массива и проверяет, оканчивается ли каждый из них на 5. Если элемент оканчивается на 5, его значение учитывается в расчете среднего арифметического элементов оканчивающихся на 5. Если таких чисел нет, выводится сообщение "Таких чисел нет".
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
