Как найти среднее арифметическое нечетных элементов массива

0 / 0 / 0

Регистрация: 30.11.2017

Сообщений: 17

1

Найти среднее арифметическое нечетных элементов массива

12.04.2018, 13:41. Показов 12603. Ответов 2


Студворк — интернет-сервис помощи студентам

Двумерный массив задан с клавиатуры.Найти среднее арифметическое нечетных элементов массива.
Заранее огромное вам спасибо!



0



ZigliShow

4 / 3 / 2

Регистрация: 20.02.2018

Сообщений: 12

13.04.2018, 07:43

2

Лучший ответ Сообщение было отмечено Сидоджи20 как решение

Решение

Сидоджи20,

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var X: array [0..9, 0..9] of integer;
    i,j,sum,t:integer;
begin
sum:=0;//Сумма нечетных элементов
t:=0;//Счетчик
    for i:=0 to 9 do
     for j:=0 to 9 do
        begin
        //Ввод массива
        write('X[',i,',',j,']= ');
        readln(X[i,j]);
        if X[i,j] mod 2 <> 0 then 
            begin
            sum:=sum+X[i,j];//считаем нечетные элементы
            t:=t+1;//увеличиваем счетчик
            end;
        end;
writeln('Среднее арифметическое нечетных элементов: ', sum/t:5:2);        
               
end.



0



bormant

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7534 / 4394 / 2785

Регистрация: 22.11.2013

Сообщений: 12,586

Записей в блоге: 1

13.04.2018, 11:31

3

ZigliShow,
… а если нечетных не оказалось, получаем ошибку деление на 0.

Pascal
1
2
3
4
5
6
7
8
var m, n, i, j, s, c, a: Integer;
begin
  Write('m n: '); Read(m,n); Write('A(',m,' x ',n,'): ');
  for i:=1 to m do for j:=1 to n do begin
    Read(a); if Odd(a) then begin Inc(c); Inc(s,a); end;
  end;
  Write('Avg(odd) = '); if c>0 then WriteLn(s/c:0:3) else WriteLn('n/a');
end.



0



Ответ:

program z1;

var a:array [1..20] of integer;

i,s,k:integer;

begin

randomize;

s:=0;

k:=0;

write(‘Массив: ‘);

for i:=1 to 20 do

begin

a[i]:=random(90)+10;

if a[i] mod 2 <> 0 then

begin

s:=s+a[i];

k:=k+1

end;

write(a[i],’  ‘)

end;

writeln;

writeln(‘Среднее арифметическое нечётных элементов: ‘,s/k:0:1)

end.

Объяснение:

Задаём значение элемента с помощью random

Проверяем значение элемента на нечётность, если условие истинно, то считаем сумму и количество элементов

Выводим  значение элемента на экран

Выводим среднее арифметическое (результат деления суммы на количество) нечётных элементов

let x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
for(let i = 0;i<x.length; i++){
    if(i % 2 == 0){
        console.log(i/3)//не знаю правильно ли???
    }
}

задан 29 янв 2020 в 22:28

Vahan's user avatar

VahanVahan

4832 серебряных знака14 бронзовых знаков

1

    let x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
    var count = 0;
    var summ = 0;
    for(let i = 0;i<x.length; i++){
        if(x[i] % 2 == 0){ //Тут берём число и проверяем чётное ли. i у Вас это ключ
            count += 1; // Если чётное считаем сколько чётных цифр
            summ += x[i]; // Если чётно считаем сумму чётных
        }
    }
    var itog = summ / count; // Выводим среднее - делим сумму на количество.
    
    console.log(itog);

ответ дан 29 янв 2020 в 22:41

Denis640Kb's user avatar

Denis640KbDenis640Kb

14k5 золотых знаков21 серебряный знак45 бронзовых знаков

Формулировка задачи:

Ребят помогите!

Дано натуральное число N и последовательность a1,a2,…,aN натуральных чисел, заданных с клавиатуры. Найти среднее арифметическое нечетных элементов массива. Решить задачу для N=10. .(3б.)

заранее спасибо!!!!!!
надо до 21,01,13!!

Код к задаче: «Найти среднее арифметическое нечетных элементов массива»

textual

Const
  n=10;
Var
  a: Array[1..n] of Integer;
  i,k: Byte;
  s: Integer;
BEGIN
Writeln('Введите массив:');
For i:=1 to n do
begin
  Readln(a[i]);
  If odd(a[i]) Then
  begin
    s:=s+a[i];
    Inc(k);
  end;
end;
Writeln('Ср. арифм. нечетных = ',s/k:2:2);
Readln
END.

Полезно ли:

5   голосов , оценка 4.000 из 5

На чтение 3 мин.

словие задачи: Массив А вводится с клавиатуры. Найти среднее арифметическое его элементов с нечетными номерами. Размер произвольный. (Язык Pascal)

Сложность: легкая.

Содержание

  1. Решение задачи
  2. Начнем мы с каркаса нашей программы
  3. Всё решение задачи Pascal

Решение задачи

Для начала продумаем решение. Нам сказано найти среднее арифметическое элементов массива с нечетными номерами, что это значит? Как вы знаете у массива каждое значение под своим номером, например:

1

2

mass[1] := 32;

mass[2] := 43;

Т.е. под номером 1 в массиве значение 32, под номером 2 значение 43, вот нам надо найти среднее арифметическое элементов массива с нечетными номерами, т.е. 1 3 5 и т.д.

Среднее арифметическое — это сумма всех элементов деленное на кол-во элементов, в нашем случаи сумма всех элементов с нечетными номерами деленное на их кол-во.

Массив мы будем вводить в самой программе, т.е. введем число, и проверим его номер, если он нечетный тогда этот элемент занесем в сумму, чтобы потом найти среднее арифметическое.

Для того чтобы решить задачу нам понадобятся следующие переменные:

  1. Переменная mass — для массива
  2. Переменная i — для цикла
  3. Переменная n — для кол-ва элементов массива
  4. Переменная count — для кол-во нечетных номеров
  5. Переменная summa — для сумма элементов с нечетными номерами
  6. Переменная sred — для сред.ариф.

Начнем мы с каркаса нашей программы

1

2

3

4

5

6

7

8

9

10

11

12

13

type

massiv = array [1..1000] of integer;

var

mass : massiv;

i, n, summa, count : integer;

sred : real;

begin

write('Введите длину массива : ');readln(n);

readln;

end.

Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ), попросили пользователя ввести кол-во элементов массива.

Теперь надо заполнять массив вручную, заполняется массив в цикле, как только мы введем число, нам надо проверить его номер на нечетность с помощью условия и операции mod, как это делается читайте (тут) и если номер нечетный то мы просто увеличиваем общую сумму чисел с нечетными номерами и их кол-во:

1

2

3

4

5

6

7

8

9

for i:=1 to n do

begin

write('Введите ', i , ' элемент : ');readln(mass[i]);

if (i mod 2 <> 0) then

begin

count := count + 1;

summa := summa + mass[i];

end;

end;

Теперь нам осталось поделить сумму на кол-во и мы найдем среднее арифметическое:

Всё решение задачи 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

type

massiv = array [1..1000] of integer;

var

mass : massiv;

i, n, summa, count : integer;

sred : real;

begin

write('Введите длину массива : ');readln(n);

for i:=1 to n do

begin

write('Введите ', i , ' элемент : ');readln(mass[i]);

if (i mod 2 <> 0) then

begin

count := count + 1;

summa := summa + mass[i];

end;

end;

sred := summa / count;

writeln('Среднее арифметическое с нечетными номерами : ' , sred);

readln;

end.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти диаметр множества
  • Как найти вершину равнобокой трапеции
  • Как составить учетную политику в целях налогообложения
  • Как найти угол зная биссектрису угла
  • Как найти мужа для сестры

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии