Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В массиве найти количество нечетных чисел расположенных после второго самого большего числа https://www.cyberforum.ru/ cpp-beginners/ thread122725.html
Срочно плиз помогите для курсача написать программку на C В массиве найти количество нечетных чисел расположенных после второго самого большего числа
Дан файл f и g, компоненты которых являются целыми числами в машинном представлении. Записать в файл h числа из файлов f и g повторяющиеся в обоих фай C++
Дан файл f и g, компоненты которых являются целыми числами в машинном представлении. Записать в файл h числа из файлов f и g повторяющиеся в обоих файлах ровно 2 раза.
в текстовом редакторе создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна превышать C++
С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT....
C++ Нужно перевести код из Pascal в С Помогите пожалуйста перевести паскалевский код на Си(без плюсов, хотя и с плюсами тоже можно). Заранее спасибо. Вот код: unit Interpol; interface uses Types; https://www.cyberforum.ru/ cpp-beginners/ thread122682.html
C++ Количество элементов между минимумом и максимумом https://www.cyberforum.ru/ cpp-beginners/ thread122680.html
Пожалуйста помогите вот с этой задачей!!! Написать программу, которая для целочисленной матрицы 10х20 определяет среднее арифметическое ее элементов и количество положительных элементов в каждой...
C++ написать программку для расчета степени
хай пипл! помогите пожалуйста решить задачку в с++ для начинающего, условия:написать программку для расчета степени: 2 в 5 степени, пишу в Dev c++ 9.4.4.2
Сдвинуть массив циклически на К элементов вправо C++
Может кто знает.:) Сдвинуть массив циклически на К элементов вправо.
C++ Уплотнить матрицу А, удаляя из нее строки и столбцы заполненные нулями Пожалуйста помогите:) Уплотнить матрицу А, удаляя из нее строки и столбцы заполненные пулями.(подключать только iostream,conio,math) https://www.cyberforum.ru/ cpp-beginners/ thread122641.html
C++ Помогите пожалуйста записать на С++ фрагмент программы https://www.cyberforum.ru/ cpp-beginners/ thread122628.html
помогите пожалуйста записать на С++ фрагмент программы) const s:string='0123456789ABCDEF'; c:array of byte=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); for i:=length(s16) downto 1 do
C++ Нарисовать графики линейных функций Добрый день. Пришла в голову мысль реализовать программу, которая рисует графики линейных функции - f(x)=kx+b, где k, b - вводятся с клавиатуры. Но тут то оно, с графикой в С++ не работал. Как вы... https://www.cyberforum.ru/ cpp-beginners/ thread122597.html
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 67
02.05.2010, 13:35  [ТС] 0

Постигая рекурсию.

02.05.2010, 13:35. Просмотров 2433. Ответов 43
Метки (Все метки)

Ответ

вроде понял

Добавлено через 37 минут
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <stdio.h>
#include <conio.h>
#define n 15
#include <malloc.h>
 
int tos = 0;
int *stck;
 
void push1(int A, int size){   
        if(tos==size){
                printf("Stack is full\n");
                return;
        }
        stck[tos] = A;
        tos++;
}
void push2(int H, int size){   
        if(tos==size){
                printf("Stack is full\n");
                return;
        }
        stck[tos] = H;
        tos++;
}
int pop1(void){       
        if(tos==0){
                printf("Stack is empty\n");
                return 0;
        }
        tos--;
        return stck[tos];
}
int pop2(void){       
        if(tos==0){
                printf("Stack is empty\n");
                return 0;
        }
        tos--;
        return stck[tos];
}
 
void calcH(int *H, int X, int i, int N)
{
    H[i] = X * H[i - 1] - (i - 1) * H[i - 2];
    i++;
    
    if (i != n)
        calcH(H, X, i, N);
}
 
int main(void)
{
    int A[n];
    int X;
    int H[n];
    int N = 0;
    int S;
    int i;
    int element;
    int size;
    
    FILE *fin;
    
    if ((fin = fopen("F1.txt", "r")) == NULL)
    {
        printf("error reading file");
        getchar();
        return -1;
    }
    
    fscanf(fin, "%d", &N);
    if (N >= 15)
    {
          printf("ERROR!!!!!!");
          getchar();
          return -1;
          }
          
    while(!feof(fin)) {
    for (i = 0; i < N; i++)
        fscanf(fin, "%d", &A[i]);}
    
    
    fclose(fin);
    // Na4alo sozdanija steka dlja A
    size = N;
    stck = (int*)malloc(size*sizeof(int));
    for(i = 0; i < size; i++){
                fscanf(fin, "%d", &A[i]);
                push1(A[i], size);
        }
    printf("Stack of A:\n");
        for(i = 0; i < size; i++)
                printf("%d\n", pop1());
    printf("Input X: ");
    scanf("%d", &X);
    
    H[0] = 1;
    H[1] = X;
    
    calcH(H, X, 2, N);
    for (i = 0; i <= N; i++)
        printf("H[%d] = %d\n", i, H[i]);
    // Stek dlja H
    for(i = 0; i < size; i++)
          scanf("%d\n", &H[i]);
          push2(H[i], size);
    
    printf("Stack of H:\n");
                  for(i = 0; i < size; i++)
                        printf("%d\n", pop2());
          
    for (i = 0, S = 0; i < N; i++)
        S += A[i] * H[i];
    
  /*  for (i = 0; i <= N; i++)
        printf("H[%d] = %d\n", i, H[i]);*/
    
    FILE *fout;
    
   // for (i = 0; i <= n; i++){
     //  fprintf(fout, "H[%d] = %d\n", i, H[i]);}
    
    if ((fout = fopen("F2.txt", "w+")) == NULL)
    {
        printf("error writing file");
        getchar();
        return -1;
    }
    
    fprintf(fout, "%d\n", S);
    for (i = 0; i <= n; i++){
       fprintf(fout, "H[%d] = %d\n", i, H[i]);}
       
   /* printf("Enter size of stack: ");
        scanf("%d", &size);   */
 
       
    free(stck);
    fclose(fout);
    
    getchar();
    getchar();
    return 0;
}
создаётся стек для А, но для Н не создаётся почемуто, что тут не так я написал?

Вернуться к обсуждению:
Постигая рекурсию.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2010, 13:35
Готовые ответы и решения:

Задача на рекурсию
С помощью рекурсии вычислить произведение ненулевых элементов динамического массива. Кто-то знает?...

В файл рекурсию
Как мне результаты этой программы вывести в файл ? #include&lt;iostream&gt; #include&lt;fstream&gt; using...

Задача на рекурсию
Вот код проги которую я написал: #include &lt;iostream&gt; using namespace std; int factr(double...

Задача на рекурсию
Всем доброго времени суток. Прошу подсказать мне условие задачи на рекурсию(нам дали задание самим...

43
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.