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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ есть на с++ а надо на с http://www.cyberforum.ru/cpp-beginners/thread40839.html
Задан текстовый файл Input.txt, состоящий из слов. Разделителями между словами являются некоторое множество знаков препинания. Удалить из каждой строки, начиная со второй слова, которые встречаются в первой строке и записать результат в новый файл Output.txt. #include <iostream> #include <vector> #include <fstream> #include <cctype> #include <cstdlib>
C++ При нажимани одной из клавиш Как сделать чтобы при нажимани одной из клавиш ↑, ↓, →, ← выполнялись определенные операции?! Заранее благодарю) http://www.cyberforum.ru/cpp-beginners/thread40804.html
Где скачать Turbo c. C++
Помогите, дайте ссылку на скач. У меня есть TC.exe, но не работает выдает ошибки.
C++ усовершенствование кода
как сделать чтобы он сначало показевал что написано в файле а уже потом просил изменить какоето слово?? пробовал он только показевал но не менял.. потом менял но не показевал.. остановился на непоказевать но надо чтобы показевал что там написано :( #include <iostream> #include <fstream> #include <string> using namespace std; int main() { string line; std::ifstream...
C++ производный класс http://www.cyberforum.ru/cpp-beginners/thread40776.html
Помогите пожалуйста!!! имеется класс Triangle выполняющий операции с треугольниками. Задание: нужно образовать производный класс Pentagon - пятиугольники на основе Triangle. В общем вылазит все время ошибка мол: метод уже определен. и еще вопрос можно ли реализовать класс Pentagon только с тремя точками и ребрами, ведь пятиугольник это посути три треугольника. //point.h #ifndef POINT_H...
C++ Сформировать файл: список функциональных клавиш и соответствующих им действий Сформировать файл (d:\C++\fstr.det) список функциональных клавиш и соответствующих или выполняемых действий программы.Каждая запись держит 5 функциональных клавиш (F1,F2,F3,F4,F5)! действия,выполняемые по нажатию данной клавиши.Реализовать возможность ввода № клавиши и вывод соответствующей информации в окнах компоненты Edit,вывод всего списка в окне компонента Panel! подробнее

Показать сообщение отдельно
Immes
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 13
17.06.2009, 22:48     Рекурсия
Помогите, пожалуйста, с рекурсией.
Дана квадратная матрица A порядка m, натуральное число n, действительные числа pn, pn-1, p0. Найти pn*A^n+pn-1*A^(n-1)+...+p1*A+p0*E. E-единичная матрица порядка m.
Я попыталась что-то написать. Но считает неправильно, и вsdjlbn в ответе либо нули, либо какие-то непонятные числа...

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include "locale.h"
const int N=100;
 
void func(int n, int m,int A[N][N], int E[N][N], float p[N])
{
    static int k,i,j;
    static float itog[N][N],g[N][N],h[N][N];
    if(k==n) 
    {
        printf("Результат:\n");
        for(i=0;i<m;i++)
        {
            for(j=0;j<m;j++)
            printf("%6.2f", itog[i][j]);
            printf("\n");
        }
    }
    else
    {    
        if(k==0)
        {
            k++;
        }
        else
        {
            if (k==1)
            {
                for(i=0;i<m;i++)
                    for(j=0;j<m;j++)
                    g[i][j]=p[k-1]*A[i][j];
                for(i=0;i<m;i++)
                    for(j=0;j<m;j++)
                    h[i][j]=p[k]*E[i][j];
                for(i=0;i<m;i++)
                    for(j=0;j<m;j++)
                        itog[i][j]=g[i][j]+h[i][j];
                k++;
            }
            else 
            {
                for(i=0;i<m;i++)
                    for(j=0;j<m;j++)
                    g[i][j]=itog[i][j]*A[i][j];
                for(i=0;i<m;i++)
                    for(j=0;j<m;j++)
                    h[i][j]=p[k]*E[i][j];
                k++;
            }
        }
        func(n,m,A,E,p);
    }
}
int main()
{ 
    setlocale(LC_ALL,"Russian");
    unsigned int m, n, i, j;
    int E[N][N], A[N][N];
    float p[N];
 
    printf("Введите размерность матрицы А[m][m](от 1 до %d):",N);
    scanf("%d",&m);
    printf("\nВведите элементы матрицы А[m][m]:\n");
    for (i=0; i<m; i++)
        for (j=0; j<m; j++)
        {
            printf("A[%d][%d]=",i,j);
            scanf("%d",&A[i][j]);
        }
    printf("\nВведите n(от 1 до %d):",N);
    scanf("%d",&n);
    printf("\nВведите элементы p n, p n-1, ..., p 0:\n");
    for (i=0; i<=n; i++)
    {
        printf("p%d=",n-i);
        scanf("%f",&p[n]);
    }
 
    for(i;i<m;i++)
    {
        for(j;j<m;j++)
            if(i == j)
            {
                E[i][j]=1;
            }
            else
            {
                E[i][j]=0;
            }
         }
    printf("\n\n");
    func(n,m,A,E,p);
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru