Форум программистов, компьютерный форум CyberForum.ru

Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому - C++

Восстановить пароль Регистрация
 
user_p01
19 / 19 / 2
Регистрация: 03.11.2011
Сообщений: 80
27.04.2012, 14:44     Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому #1
Помогите пожалуйста составить программу:
Даны целые числа a1, ..., an. Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому чисел последовательности.
Тема: Одномерные массивы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 14:44     Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому
Посмотрите здесь:

C++ Найти элемент массива наиболее близкий к заданному числу.
C++ Найти наиболее близкий элемент к целому
C++ Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов
Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов. C++
Найти элемент массива, наиболее близкий к среднему значению всех элементов массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
27.04.2012, 15:10     Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому #2
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>
#include <conio.h>
#include <math.h>
 
int main(void)
{
    int N = 0;
    printf("Enter N = "); scanf("%d",&N);
 
    printf("\n");
 
    int* A = new int[N];
    for (int q = 0; q < N; q++)
    { printf("A[%d] = ",q); scanf("%d",&A[q]); }
 
    int i = 0; double avg = 0.00;
    while (i < N) avg+=(double)A[i++]/N;
    
    int min_i = 0;
    double delta = 0.00, min_avg = avg;
    for (int k = 0; k < N; k++)
        if ((delta = abs(avg - A[k])) < min_avg)
        {   min_avg = delta; min_i = k; };
 
    printf("Average = %4.2f A[%d] = %d is minimal\n",avg,min_i,A[min_i]);
 
    _getch();
 
    return 0;
}
Kuzia domovenok
27.04.2012, 15:14
  #3

Не по теме:

а нет, отставить

zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
27.04.2012, 15:17     Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому #4
Среднее он вычисляет для целых чисел, можете проверить используя калькулятор,
за счет использования приведения к (double). Сначала преобразовывает значение
элемента массива в тип double, а потом делим на N, результат в переменную типа
double.
Yandex
Объявления
27.04.2012, 15:17     Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому
Ответ Создать тему
Опции темы

Текущее время: 05:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru