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

Написание алгоритма - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Область видимости http://www.cyberforum.ru/cpp-beginners/thread642563.html
Здравствуйте. Тут такое дело: #include <vector> class SomeClass { public: SomeClass( std::vector< int > v ) : vec( v ) {} void someFunc() { // do smth }
C++ Оператор разыменования Почему когда выделяем динамическую память для одной переменной, то, чтобы записать туда значение, мы используем оператор разыменования (*), int *a = new int; *a = 5; а когда выделяем для... http://www.cyberforum.ru/cpp-beginners/thread642558.html
C++ Чтение и запись блока данных в двоичном режиме
// Чтение и запись блоков данных — использование read() и write(). #include <iostream> #include <fstream> #include <windows.h> using namespace std; int main() { SetConsoleCP(1251);...
C++ Определение размера одномерного массива
Добрый день. Необходимо задать размер одномерного массива. В цикле for стоит переменная - счетчик, которая увеличивается на единицу при определенных условиях. После всех повторений этого цикла мне...
C++ как сделать в MS VS 2010 express output не в консоль в output windows http://www.cyberforum.ru/cpp-beginners/thread642521.html
сабж заранее спасибо
C++ Блокировка кнопки выхода А можно как нибудь заблокировать кнопку выхода, чтобы из программы нельзя было выйти таким способом??? подробнее

Показать сообщение отдельно
Mindz
7 / 7 / 1
Регистрация: 31.01.2010
Сообщений: 51

Написание алгоритма - C++

25.08.2012, 21:20. Просмотров 835. Ответов 10
Метки (Все метки)

Приветствую.
Имеется некоторая задача которую не удается решить.
Суть такова.Явно определен целочисленный массив из n элементов, требуется найти медиану,которая будет равна максимально ближнему элементу к среднеарифметическому данного массива.
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
void setMedian( int Array[], int Size )
{
    int lh[LeftSize], rh[RightSize], Max, Min;
    
    for( int index = 0; index < Size; index++ ) {
         if( Array[index] == Average ) {
             Median = Array[index];
             break;
         } else {    
                if( Array[index] < Average ) lh[index] = Array[index];
                   else if( Array[index] > Average ) rh[index] = Array[index];//Это не верно ибо можем обратится к несуществующему индексу,вот именно в этой части и надо что то придумать.               
                if( index > 0 ) {
                    Max = lh[index] > lh[index - 1] ? lh[index] : lh[index - 1];
                    Min = lh[index] < lh[index - 1] ? rh[index] : rh[index - 1];
                }
           }
           Median = ( Average - Max ) < ( Min - Average ) ? Max : Min;
    }        
}
 
void setSize( int A[], int size )
{
     for( int index = 0; index < size; index++ ) {
          if( A[index] > Average ) RightSize++;
              else LeftSize++;
     }            
}
Если у кого есть какие идеи по этому поводу был весьма благодарен,сразу скажу варианты STL не проканают.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru