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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Shyhrat
2 / 2 / 0
Регистрация: 04.04.2010
Сообщений: 18
02.06.2010, 11:37     Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов #1
попадаю конкретно...отблагодарю!



2. Найти в массиве элемент, наиболее близкий к среднему
рифметическому суммы его элементов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2010, 11:37     Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов
Посмотрите здесь:

C++ Найти элемент массива наиболее близкий к заданному числу.
C++ Найти наиболее близкий элемент к целому
Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов. C++
Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому C++
Найти элемент массива, наиболее близкий к среднему значению всех элементов массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
02.06.2010, 12:05     Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов #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
#include <math.h>
 
 float mas[10] = {1,2.2,3,4,5,1,3,4} ;
 float sr_arifm = 0 ;
 
 
   for( int i = 0 ; i < 10 ; i++ )
     sr_arifm += mas[i];
   sr_arifm = sr_arifm / 10;
 
 float rozn = mas[0] - sr_arifm ;
 int j = 0 ;
 
   for ( i = 1 ; i < 10 ; i++ )
      if( fabs(rozn) > fabs( mas[i] - sr_arifm ) )
      {
    j = i ;
    rozn =  mas[i] - sr_arifm ;
      }
 
 
 
   cout << sr_arifm << endl << mas[j] ;
Shman
3 / 3 / 2
Регистрация: 30.04.2012
Сообщений: 212
25.05.2012, 06:05     Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов #3
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
31
32
33
34
35
36
#include <stdio.h> // Подключаем
#include <conio.h> // модули.
#include <math.h> // Модуль для fabs;
 
int main()
{     
 int i, j; 
 float mas[5];
 float sum_mas, sr_arif, razn1, razn2; 
 
 printf("Vvedite massiv iz 5 elementov \n:"); 
  for (i=0; i<5; i++) 
   { printf("Vvedite element[%d]: ", i);
     scanf("%f", &mas[i]); } 
 
  for(i=0 ; i<5 ; i++) 
  {
   sum_mas += mas[i]; // Сумма элементов массива.
   sr_arif = sum_mas / 5; // Сумма элементов массива деленая на кол-во элементов = Ср. ариф.   
  }
  
 razn1 = mas[0]-sr_arif; // Из первого элемента массива вычитаем среднее ариф-ое, получаем разницу1.
 razn2 = mas[i]-sr_arif; // Из каждого элемента массива вычитаем среднее ариф-ое, получаем разницу2.
 j=0 ; 
  for (i = 1 ; i<10 ; i++) 
  { 
   if( fabs(razn1) > fabs(razn2)) // Если модуль разницы1 больше модуля разницы2, то...
    { j=i; 
      razn1 = razn2; } // разницу1 приравниваем к разнице2.     
  }  
 
  printf ("\n Srednee arifmechicheskoe: %3.3f", sr_arif); // Вывести среднее арифм-ое с оукруглением.
  printf ("\n Naibolee blizkoe znachenie: %3.3f", mas[j]); // Вывести наиболее близкое значение. 
 getch(); 
 return 0; 
}
Результат:
1 элем: 1
2 элем: 5
3 элем: 4
4 элем: 3
5 элем: 3
Ср. Ариф: 3.200
Наиболее близкий: 5.000.
Тоже неверно, думаю наиболее близкий 3.000, либо может быть и 4.000.

9
8
7
6
5
Ср. Ариф: 7.000
Наиболее близкий: 8.000.
Почему 8, когда наиболее близкое значение еще м.б. 6.000.

Как можно исправить?

Добавлено через 8 часов 43 минуты
Неужели никто не знает?
Shman
3 / 3 / 2
Регистрация: 30.04.2012
Сообщений: 212
27.05.2012, 12:04     Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов #4
PS: В условии что имеется ввиду под наиболее близким элементом? В меньшую сторону от ср. арифм. или в большую?
Yandex
Объявления
27.05.2012, 12:04     Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов
Ответ Создать тему
Опции темы

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