Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

чтение из файла в массив, вычисление по формуле

44K
20 мая 2009 года
get.life
5 / / 15.01.2009
здравствуйте, требуется помощь в решении задачи:

в текстовом файле имеются в первой строке натуральные числа n, записанные через пробел; аналогично во второй - действительные a1,a2,a3...an; программе нужно найти значение функции:

y=an(an+an-1)(an+an-1+an-2)...(an+an-1+...a1)

где n, n-1, n-2... - индексы чисел a; a1 - a с индексом 1;

Я так понимаю, сначала читаем из файла в массив целые числа, затем вещественные из того же файла в другой массив? А как быть с формулой - не знаю. Может кто-нибудь написать хотя бы набросок?
602
21 мая 2009 года
KPI Student
265 / / 16.12.2006
Если нужно решение: предлагаю переписать целые на бумагу в один столбик, вещественные во второй, под ними записать формулу, взять калькулятор и посчитать.

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

P.S. Наиболее простое и легкое решение можно реализовать с помощью рекурсии. Гугл или википедия вам в помощь.
44K
21 мая 2009 года
get.life
5 / / 15.01.2009
извиняюсь, что не указал язык сразу, C++. предполагаю, числа из файла нужно записать в два массива и передавать их в функию, которая будет считать y? как записать выражение, считающее у - мне не понятно.
46K
21 мая 2009 года
Mukhitov
15 / / 26.04.2009
Пишется рекуррентные соотношение и в цикле вычисляется.
44K
21 мая 2009 года
get.life
5 / / 15.01.2009
не сочтите за дерзость, но не мог бы кто-нибудь написать код? мне с ней не справиться, а задача очень нужна, спасибо.
87
21 мая 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: get.life
мне с ней не справиться, а задача очень нужна


А ты попробуй как-нибудь начать решать.
Ладно, окажу медвежью услугу.

Код:
template<class T, int N>
T CalcMass(T* mass)
{
    int n = N;

    T result = 1;

    while(n)
    {
        T poly = 0;
        for(int i = 0; i < n; ++i)
            poly += mass;
        result *= poly;
        n--;
    }
    return result;
}

int main()
{
    int imass[] = {1, 2, 3};
    double dmass[] = {1.1, 2.0, 3.0};

    cout << CalcMass<int, 3>(imass) << endl;
    cout << CalcMass<double, sizeof(dmass)/sizeof(double)>(dmass) << endl;
    return 0;
}


Не очень красиво, правда. Green как-то показывал как передать массив в шаблонную функцию, но я забыл как, а искать лень, ибо массивы почти не использую.
44K
21 мая 2009 года
get.life
5 / / 15.01.2009
Kogrom, спасибо большое!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог