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

рекурсия - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Замена элементов в столбцах http://www.cyberforum.ru/cpp-beginners/thread125978.html
Здравствуйте. Нуждаюсь в вашей помощи. Есть задача: В матрице А(n-строк, m-столбцов). Необходимо поменять местами наибольшие элементы в первом и k-ом столбцах (2<=k<=m). Для поиска номера наибольшего элемента в заданном столбце использовать подпрограмму. Заранее благодарен. Так же ищу человека, который сможет решить еще пару более сложных задач, но уже за умеренное вознаграждение.
C++ Переопределить операцию сложения Добрый вечер. Вообщем надо написать программу, которая складывает 2 строки причём так что 1 буква 1 строки с 1 буквой второй строки, то есть Мама+Папа=МПаампаа вот код, если там есть ошибки буду благодарен если подскажете, а сама изюминка в формуле!!! я тут уже запарился.... не подскажете формулу ? Заранее Спасибо! #include "iostream" #include "string.h" http://www.cyberforum.ru/cpp-beginners/thread125972.html
C++ Безопасный массив (массив с контролем границ)
Доброе время суток! кто нибудь может подсказать в чем ошибка данной программы-"безопасный массив(контроль границ массива)". #include <iostream.h> #include <stdlib.h> class array { int size; char *p; public: array (int num)
C++ Перемножение матриц
Помогите исправить ошибки. //--------------------------------------------------------------------------- #include <iostream> #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main()
C++ Получить длину строки http://www.cyberforum.ru/cpp-beginners/thread125952.html
Помогите перевести из Паскаль в С++ 9 и 12 строчки. Заранее спасибо. Program CTP_2; Uses Crt; var s:string; Begin clrscr; Writeln('Введите символы'); readln(s);
C++ аналог функции STRNCAT() Написать и протестировать аналог функции STRNCAT(). подробнее

Показать сообщение отдельно
lenoch
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 8
30.06.2010, 22:31  [ТС]     рекурсия
преподователь говорит нельзя прямой рекурсией и нужно в 1 функцию сделать, решила сделать на основе работы одногруппника
"В последовательности x(1), x(2)..., образованой по закону x(0)=а, x(i)=(k-1)/k*x(i-1)+a/x(i-1)^k i=1,2,..., найти первый член x(n), для которого выполнено неравенство |x(n)^k-k*a|<10^(-m)"

вот его функция

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
struct vozvrat
{
    int n;
    double x;
};
 
struct vozvrat Decision(double a, double k, double m)
{
    static struct vozvrat tmp;
    static double xp;
    static int nom=0;
    tmp.n=nom;
    if (tmp.n==0) tmp.x=a;
    xp=tmp.x;
    tmp.x=((k-1)/k)*xp+(a/pow(xp,k-1));
    tmp.n=nom;
    if (fabs(pow(tmp.x,k)-k*a)<pow(10,-m)) 
        return tmp;
    else 
    {
        nom++;
        return Decision(a,k,m);
    }
}
вот то что я попыталась сделать

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
struct vozvrat
{
    int n;
    double x,y;
};
 
struct vozvrat Decision(int n)
{
    static struct vozvrat tmp;
    static double xp, yp; //я взяла xp как x(i-1)
    static int nom=0;// это счетчик
    tmp.n=nom;
    if (tmp.n==0) tmp.x=1;
    xp=tmp.x;
    tmp.x=xp+yp/(n*n);
    if (tmp.n==0) tmp.y=1;
    yp=tmp.y;
    tmp.y=yp+xp/(n*n);
    tmp.n=nom;
    if (nom = n) 
        return tmp;
    else 
    {
        nom++;
        return Decision(n);
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru