Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2012, 17:44   #1
V1rus.25
Пользователь
 
Аватар для V1rus.25
 
Регистрация: 09.04.2012
Сообщений: 62
Лампочка Динамический массив

Даны действительные числа X,Y,...,Y25. В последовательности Y1,...,Y25 найти два члена, среднее арифметическое которых ближе всего к X.
С простым массивом я написал, а как сделать с динамическим не знаю!!!:confuse d:
Вот что получилось с простым

Код:
#include <iostream>
#include <ctime>
#include <cmath>

#define MAX_VALUE 100
#define COUNT 25
int main()
{
    srand(time(NULL));
    double x = rand() % (MAX_VALUE * 2) - MAX_VALUE;
    double y[COUNT];
    std::cout << "array: [ " << std::endl;
    for (int i = 0; i < COUNT; i++)
    {
        y[i] = rand() % (MAX_VALUE * 2) - MAX_VALUE;
        std::cout << y[i] << "  ";
    }
    std::cout << " ]" << std::endl;
    double a, b, diff = MAX_VALUE;
    for (int i = 0; i < COUNT; i++)
        for (int j = 0; j < COUNT; j++)
            if (i != j)
            {
                double mean = (y[i] + y[j]) / 2.;
                double currdiff = fabs(x - mean);
                if (currdiff < diff)
                {
                    a = y[i];
                    b = y[j];
                    diff = currdiff;
                }
            }
    std::cout << "x = " << x << std::endl;
    std::cout << "a = " << a << std::endl;
    std::cout << "b = " << b << std::endl;
    return 0;
}

Последний раз редактировалось ACE Valery; 13.12.2012 в 22:04.
V1rus.25 вне форума Ответить с цитированием
Старый 25.12.2012, 00:09   #2
V1rus.25
Пользователь
 
Аватар для V1rus.25
 
Регистрация: 09.04.2012
Сообщений: 62
По умолчанию

Неужели никто не может ничего подсказать??
V1rus.25 вне форума Ответить с цитированием
Старый 25.12.2012, 00:54   #3
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Код:
double y[COUNT];
Заменить на:
Код:
double *y = new double[COUNT];
Дописать:
Код:
delete[] y;
Вы книгу хоть открывали?
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 25.12.2012, 02:38   #4
V1rus.25
Пользователь
 
Аватар для V1rus.25
 
Регистрация: 09.04.2012
Сообщений: 62
По умолчанию

Прога зависает, данные не изменяются
V1rus.25 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив, массив указателей alexalisa Паскаль, Turbo Pascal, PascalABC.NET 4 22.04.2011 21:33
Динамический массив - или всё таки не динамический? vedro-compota Общие вопросы C/C++ 30 10.12.2010 23:22
Динамический массив supra89kren Общие вопросы C/C++ 4 25.03.2010 20:23
Динамический массив Ueshua Общие вопросы C/C++ 3 19.12.2009 22:12
динамический массив Dimon Паскаль, Turbo Pascal, PascalABC.NET 3 21.03.2008 18:08