Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
denisglod
1 / 1 / 4
Регистрация: 22.12.2014
Сообщений: 46
1

Найти индексы элементов массива, значение которых ближе всего к найденному среднему арифметическому

18.03.2016, 18:53. Просмотров 527. Ответов 2

Напишите программу, которая находит среднее арифметическое между максимальным элементом и минимальным элементом массива, а также находит индекс(или индексы) элемента(ов), значение которого ближе всего к найденному среднему арифметическому.

Подскажите как найти индексы элементов значение которых ближе всего к среднему арифметическому
C
1
2
3
4
5
6
7
8
9
10
11
12
double m[10] = { 2.2, 3.1, 7.7, 9.1, 6.5, 4.6, 3.5, 5.4, 1.4, 7.6 };
double sr_ar, max = 0, min = 10;
for (int i = 0; i < 10; i++)
{
    printf("m[%d] = %.1lf\n", i, m[i]);
    if (max < m[i]) max = m[i];
    if (min > m[i]) min = m[i];
}
printf("\nmax = %.1lf\n", max);
printf("min = %.1lf\n", min);
sr_ar = (double)(max + min) / 2;
printf("Среднее арифметическое = %.1lf\n", sr_ar);
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2016, 18:53
Ответы с готовыми решениями:

Найти количество элементов, не равных среднему арифметическому элементу всего массива.
Условие: Для заданной функции вычислить массив 11 ее значений в равноотстоящих точках интервала ....

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

В массиве А[8] найти наибольший элемент в присвоить ему значение, равное среднему арифметическому всех элементов массива
В массиве А найти наибольший элемент в присвоить ему значение, равное среднему арифметическому всех...

Вывести значение того из 5 натуральных чисел, которое ближе к их среднему арифметическому
Дано 5 натуральных чисел, не превышающих 2 000 000 000. Вывести значение того из них, которое ближе...

2
LFC
732 / 537 / 416
Регистрация: 17.09.2015
Сообщений: 1,599
18.03.2016, 19:53 2
denisglod,
C
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
#include <stdio.h>
 
const int N = 10;
int main()
{
    int i, min, mid, max, x, y, sum = 0, A[10] = {4, 2, -7, 24, -60, 0, 108, - 72, 19, 54};
    min = A[0];
    max = A[0];
    for(i = 0; i < N; i++){
        sum += A[i];
        if(A[i] > max)
            max = A[i];
        if(A[i] < min)
            min = A[i];
    }
    mid = sum / N;
    for(i = 0; i < N; i++){
        if(A[i] > min && A[i] < mid){
            min = A[i];
            x = i;
        }
        if(A[i] < max && A[i] > mid){
            max = A[i];
            y = i;
        }
    }
    printf("Arithmetic mean is %d\n", mid);
    printf("and next values is A[%d] = %d and A[%d] = %d\n", x, min, y, max);
    return 0;
}
1
denisglod
1 / 1 / 4
Регистрация: 22.12.2014
Сообщений: 46
18.03.2016, 20:14  [ТС] 3
LFC, спасибо разобрался )
вот что получилось

PS. Подскажите еще один момент как заполнить массив случайными вещественными числами в диапазоне от 0 до 10. Если целыми то так: 1+rand()%10, а вот вещественными никак не могу понять

C
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
double m[10] = { 2.2, 3.1, 7.7, 9.1, 6.5, 4.6, 3.5, 5.4, 1.4, 7.6 };
double sr_ar, max = m[0], min = m[0];
int index1, index2;
for (int i = 0; i < 10; i++)
{
    printf("m[%d] = %.1lf\n", i, m[i]);
    if (max < m[i]) max = m[i];
    if (min > m[i]) min = m[i];
}
printf("\nmax = %.1lf\n", max);
printf("min = %.1lf\n", min);
sr_ar = (double)(max + min) / 2;
printf("Среднее арифметическое = %.1lf\n", sr_ar);
for (int i = 0; i < 10; i++)
{
    if (m[i] > min && m[i] < sr_ar)
    {
        min = m[i];
        index1 = i;
    }
    if (m[i] < max && m[i] > sr_ar) {
        max = m[i];
        index2 = i;
    }
}
printf("Ближайшие элементы m[%d] = %.1lf и m[%d] = %.1lf\n", index1, min, index2, max);
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2016, 20:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти число, которое «ближе всех» к среднему арифметическому в одномерном массиве
Добрый день, мое задание: Требуется разработать программу, которая: 1) обеспечивает ввод n...

Определить значение элемента массива, наиболее близкого к среднему арифметическому всех элементов
Определить значение и номер элемента массива X(n), наиболее близкого к среднему арифметическому...

Вставить после максимального элемента значение, равное среднему арифметическому элементов массива.
помогите пожалуйста, написать программу Дан массив А размером N.Вставить после максимального...

Вычислить номер элемента, значение которого близкое к среднему арифметическому всех элементов массива
Есть пока такой код, он только сер.ариф должен считать. И он неработает. Чтото связаное с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.