Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/40: Рейтинг темы: голосов - 40, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 25.09.2017
Сообщений: 9

Найти и вывести среднее арифметическое всех элементов массива, оканчивающихся цифрой 5

24.10.2017, 14:28. Показов 8582. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан целочисленный массив. Напишите программу, которая находит и выводит среднее арифметическое всех элементов массива, оканчивающихся цифрой 5. Гарантируется, что хотя бы один такое элемент в массиве есть
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.10.2017, 14:28
Ответы с готовыми решениями:

Найти среднее арифметическое всех элементов массива, оканчивающихся заданной цифрой
Необходимо решить следующие задачи: 1) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от –1000 до...

подсчитать и вывести среднее арифметическое элементов массива,оканчивающихся нулем
Здравствуйте, помогите пожалуйста дописать программу: Дан целочисленный массив из 30 элементов.элементы массива могут принимать...

Найти и вывести среднее арифметическое всех элементов массива
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значение от -1000 до 1000. Опишите на русском языке или на одном...

6
 Аватар для AndrewBeletskiy
35 / 35 / 45
Регистрация: 26.10.2016
Сообщений: 85
24.10.2017, 16:31
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Program task;
var a: array of integer;
    n: integer;
 
function getAverage(a: array of integer; size: integer): real;
var i: integer;
    res: real;
    amount: integer;
begin
  res := 0;
  amount := 0;
  for i := 0 to size-1 do
  begin
    if (a[i] mod 10 = 5) then
    begin
      res := res + a[i];
      inc(amount);
    end;
  end;
  getAverage := res / amount;
end;
procedure input();
var i: integer;
begin
  write('Enter the size of array: ');
  readln(n);
  setLength(a, n);
  write('Enter ', n,' integer numbers: ');
  for i := 0 to n-1 do
  begin
    read(a[i]);
  end;
end;
procedure outputArray(a: array of integer; size: integer);
var i: integer;
    sep: string = '';
begin
 for i := 0 to size-1 do
 begin
  write(sep, a[i]);
  sep:=', ';
 end;
 writeln;
end;
 
BEGIN
  input();
  writeln('Your array: ');
  outputArray(a,n);
  writeln('Average of numbers that ends with 5: ', getAverage(a,n):0:3);
END.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
26.10.2017, 18:38
Все проще:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const
  N = 10;
 
var
  A: array [0..N - 1] of integer;
  Count, Sum: integer;
 
begin
  for var i := 0 to N - 1 do
  begin
    Readln(A[i]);
    if Abs(A[i]) mod 10 = 5 then
    begin
      Inc(Sum, A[i]);
      Inc(Count);
    end;
  end;
  WritelnFormat('Среднее арифметическое равно {0}.', Sum / Count);
end.
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
28.10.2017, 03:32
Volobuev Ilya, Я, конечно, придираюсь, но если массив с фиксированными границами зачем лишнее действие выполнять (N-1)?
В общем разделе, некорректно использовать команды прибитые гвоздями к pascalabc.net (writelnformat).
Переменная(sum), где накапливается сумма, должна иметь размерность больше чем размерность элемента массива.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
28.10.2017, 16:56
Цитата Сообщение от Joy Посмотреть сообщение
Переменная(sum), где накапливается сумма, должна иметь размерность больше чем размерность элемента массива.
Хм, зачем? Почему просто не накапливать сумму?

Добавлено через 33 секунды
Зачем у нее еще и размерность должны быть больше, чем у массива? Это же скалярная величина.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
28.10.2017, 20:16
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Хм, зачем? Почему просто не накапливать сумму?
Попробуйте накопить сумму:
Pascal
1
2
  a[0]:=High(Integer) div 10+5;
  a[1]:=a[0];
Добавлено через 4 минуты
Цитата Сообщение от Joy Посмотреть сообщение
зачем лишнее действие выполнять (N-1)?
Оптимизация "свёртка констант" (constant folding) не оставит этого вычисления в исполняемом коде, там будет готовый результат. Даже если это переменная, DEC reg не так и дорога при вычислении верхней границы.
2
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
28.10.2017, 20:24
Я прошелся по всему массиву, суммировал только те элементы, которые оканчиваются цифрой 5, потом поделил на их количество.

Добавлено через 1 минуту
Ааа, размерность Sum нужна для избежания переполнения?

Добавлено через 3 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const
  N = 10;
 
var
  A: array [0..N - 1] of integer;
  Count: integer;
  Average: real;
 
begin
  for var i := 0 to N - 1 do
  begin
    Readln(A[i]);
    if Abs(A[i]) mod 10 = 5 then
    begin
      Inc(Count);
      if Count > 1 then
        Average := (Average + A[i]) / 2
      else
        Average := A[i];
    end;
  end;
  
  if Count > 0 then
    WritelnFormat('Среднее арифметическое равно {0}.', Average)
  else
    Writeln('Элементов, удовлетворяющих условию не найдено.');
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2017, 20:24
Помогаю со студенческими работами здесь

Среднее арифметическое элементов массива, оканчивающихся на 6
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите алгоритм, позволяющий найти...

Найти номера элементов массива, оканчивающихся цифрой 0
Дан массив целых чисел. Найти номера элементов, оканчивающихся цифрой 0 (известно, что такие элементы в массиве есть). Помогите...

Найти сумму всех положительных элементов массива и среднее арифметическое всех элементов
Помогите написать программу: Дан массив A. Найти сумму всех положительных элементов массива и среднее арифметическое всех чисел.

Посчитать среднее арифметическое всех элементов массива и вывести в ответ номер и элемент массива
Вводится массив. Надо посчитать среднее арифметическое всех элементов массива и вывести в ответ номер и элемент массива, наиболее близкий к...

Найти среднее арифметическое всех элементов массива
№1. Дан массив размера N и целые числа K и L (1 < K <= L <= N). Найти среднее арифметическое всех элементов массива, кроме элементов с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru