Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Сканер адресов и запись в лог Всем привет. Я хочу сделать сканер адресов для игры Warface на C++. Сигнатуры у меня есть. Например мой сканер там будет искать адрес Отдачи и Точности. Как сделать чтобы он что нащёл создал txt и там всё написал. https://www.cyberforum.ru/ cpp-beginners/ thread1632696.html Посчитать сумму элементов в каждом столбце и каждой строке матрицы C++
вот условие: 2) Объявить двумерный массив и заполнить его построчно с клавиатуры. После заполнения – показать заполненную матрицу на экран и посчитать сумму элементов отдельно в каждом столбце и каждой строке. Вот моё решение: #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int mas; int sum = 0;
C++ Подсчет символов UTF-8. Считывание пробельных символов https://www.cyberforum.ru/ cpp-beginners/ thread1632655.html
Написал программу считывания файла с кодировкой UTF-8. Но она не считывает пробельные символы. Программа получает на вход файл из стандартного потока ввода. #include <iostream> using namespace std; int getBytes(unsigned char c) { if(c >= 252) return 6; else if(c >= 248) return 5; else if(c >= 240) return 4;
C++ Найти заданное число членов ряда Задача: Ввести вещественные числа x (-1≤x≤1) и натуральное число N >0. Найти N первых членов ряда. Нужно чтобы начиналось таким образом и использовать нужно оператор while и не использовать операторов возведения в степень. #include <stdio.h> int main (void) https://www.cyberforum.ru/ cpp-beginners/ thread1632614.html
Как проще всего работать с Big-Endian C++ ? C++
С++. Как проще всего работать с Big-Endian, используя стандартные операции ?
C++ Сортировка массива структур (файловый ввод/вывод) Здравствуйте помогите пожалуйста разобраться с программой которая записывать ФИО в файл проблема в fwrite(&Stud,sizeof(TStudent),1,Fs); ошибка Unit1.cpp(48): W8060 Possibly incorrect assignment //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <math.h> #include "Unit1.h" #include<stdio.h>;... https://www.cyberforum.ru/ cpp-beginners/ thread1632598.html
C++ Локальные переменные или прямое обращение к get-объекта класса? Собственно, что лучше? Создавать локальные переменные и хранить там значения, полученные из экземпляра или напрямую обращаться к полям объекта? Например: void Array::operator +(Array value) { int sizeFirst = getSize(); int sizeSecond = value.getSize(); if(sizeFirst > sizeSecond) https://www.cyberforum.ru/ cpp-beginners/ thread1632586.html C++ Правильное использование throw и abort
Всем привет, тут такой вопрос возник: когда я хочу прервать программу, я могу воспользоваться exit(0), но он перед завершением должен вызвать деструкторы нелокальных переменных, если я их вызывать не хочу, то я могу использовать abort(). Но вот когда я его использую, у меня при выполнении программы выдается предупреждение, скажите его как то можно избежать, или оно всегда выдается, из-за того,...
C++ Перемещение каретки мыши по координатам в Linux Стоит Eclipse C/C++. Собираюсь сделать игру типа Adom, Dwarf Fortress, но мешает одно, не знаю как переместить каретку в определенные координаты консоли. Решение типа: void goto( short x, short y ) { HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE) ; COORD position = { x, y } ; SetConsoleCursorPosition( hStdout, position ) ; } Не подходит, т.к. нет Windows.h (Linux все таки).... https://www.cyberforum.ru/ cpp-beginners/ thread1632550.html C++ Ошибка с чтением файла Привет, у меня тут проблема. Я сделал программу, которая открывает файл и выводит содержимое на экран, но если я вывожу содержимое второй раз, оно не появляется. Вот весь код: #include <iostream> #include <conio.h> #include <string> #include <vector> #include <cstdlib> #include <fstream> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread1632532.html
C++ Очередная сортировка пузырьком
Здравствуйте! :) Нашёл я сортировку пузырьком на Википедии: void bubble_sort(int *a, int length) { for (int i = 0; i <= length-1; i++) { for (int j = 0; j <= length-i-1; j++) { if (a > a) { int b = a; //change for elements a = a;
C++ Поиск в файле (юникод, кириллица) Всем доброго времени суток! Задание звучит так: Заданному текстовому файлу составить список слов которые встречаются в тексте и сохранить в новый файл с расширением .txt .Позволить пользователю выбрать язык файла и кодировку. Интерфейс должен быть схожим как этот: 1. запросить у пользователя имя файла (от куда будут браться слова,текст, и тд.) 2. запросить у пользователя как будет... https://www.cyberforum.ru/ cpp-beginners/ thread1632508.html
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 13
0

Использование рекурсии вместо цикла - C++ - Ответ 8586193

06.01.2016, 14:10. Показов 873. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста!
Нужно вместо циклов использовать рекурсию, как это сделать?

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
#include <iostream>
using namespace std;
int a[100], b[100], n;
 
int digit(int n, int p)
{
    return (n >> p & 1);
}
int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
        cin >> a[i];
    int k = sizeof(int);
    for(int i = 0; i < k; i++)
    {
        int c[2] = {0};
        for(int j = 0; j < n; j++)
            c[digit(a[j],i)]++;
        for(int j = 1; j < 2; j++)
            c[j] += c[j - 1];
        for(int j = n - 1; j > -1;j--)
            b[--c[digit(a[j],i)]] = a[j];
        for(int j = 0; j < n; j++)
            a[j] = b[j];
    }
    for(int i = 0; i < n; i++)
        cout << a[i] <<endl;
    return 0;
}
 
[size="1"][color="grey"][I]Добавлено через 10 минут[/I][/color][/size]
пыталась переделать, но что-то пошло не так...
 
#include <iostream>
 
void out(int n, int t, int* &arr){
    std::cout << "Enter " << n+1 << " element: " << std::endl;
    std::cin >> arr[n];
    if (n < t - 1) out(++n, t, arr);
}
 
void out_sort(int n, int t, int* arr){
    std::cout << "arr[" << n + 1 << "]=" << arr[n] << std::endl;
    if (n < t - 1) out_sort(++n, t, arr);
}
 
void sort1(int countofbits, int n, int t, int* arr, int &count0){
    if (arr[n] >> countofbits & 1 == 0)
        count0++;
    if (n < t - 1) sort1(countofbits, ++n, t, arr, count0);
}
 
void sort2(int i, int t, int* arr, int* &mirrow, int countofbits, int &count0, int &count1){
    mirrow[--((arr[i] >> countofbits & 1 == 0) ? (count0) : (count1))] = arr[i];
    if (i > 0) sort2(--i, t, arr, mirrow, countofbits, count0, count1);
}
 
void sort3(int i, int t, int* &arr, int* mirrow){
    arr[i] = mirrow[i];
    if (i < t - 1) sort3(++i, t, arr, mirrow);
}
 
void sort(int countofbits, int t, int* &arr){
    int count0, count1;
    count0 = 0;
    count1 = t;
    sort1(countofbits, 0, t, arr, count0);
    int* mirrow = (int*)malloc(t*sizeof(int));
    sort2(t, t, arr, mirrow, countofbits, count0, count1);
    sort3(0, t, arr, mirrow);
    if (countofbits < 8*sizeof(int)) Greengrass(++countofbits, t, arr);
}
 
int main() {
    int t;
    std::cout << "Enter n: " << std::endl;
    std::cin >> t;
    int* arr = (int*)malloc(t*sizeof(int));
    out(0, t, arr);
    sort(0, t, arr);    
    out_sort(0, t, arr);
    system("pause");
    return 0;
}
 
[size="1"][color="grey"][I]Добавлено через 36 минут[/I][/color][/size]
#include <iostream>
 
void out(int n, int t, int* &arr){
    std::cout << "Enter " << n + 1 << " element: " << std::endl;
    std::cin >> arr[n];
    if (n < t - 1) out(++n, t, arr);
}
 
void out_sort(int n, int t, int* arr){
    std::cout << "arr[" << n + 1 << "]=" << arr[n] << std::endl;
    if (n < t - 1) out_sort(++n, t, arr);
}
 
void sort1(int countofbits, int n, int t, int* arr, int &count0){
    if (arr[n] >> countofbits & 1 == 0)
        count0++;
    if (n < t - 1) sort1(countofbits, ++n, t, arr, count0);
}
 
void sort2(int i, int t, int* arr, int* &mirrow, int countofbits, int &count0, int &count1){
    mirrow[--((arr[i] >> countofbits & 1 == 0) ? (count0) : (count1))] = arr[i];
    if (i > 0) sort2(--i, t, arr, mirrow, countofbits, count0, count1);
}
 
void sort3(int i, int t, int* &arr, int* mirrow){
    arr[i] = mirrow[i];
    if (i < t - 1) sort3(++i, t, arr, mirrow);
}
 
void sort(int countofbits, int t, int* &arr){
    int count0, count1;
    count0 = 0;
    count1 = t;
    sort1(countofbits, 0, t, arr, count0);
    int* mirrow = (int*)malloc(t*sizeof(int));
    sort2(t, t, arr, mirrow, countofbits, count0, count1);
    sort3(0, t, arr, mirrow);
    if (countofbits < 8 * sizeof(int)) sort(++countofbits, t, arr);
}
 
int main() {
    int t;
    std::cout << "Enter n: " << std::endl;
    std::cin >> t;
    int* arr = (int*)malloc(t*sizeof(int));
    out(0, t, arr);
    sort(0, t, arr);
    out_sort(0, t, arr);
    system("pause");
    return 0;
}


Вернуться к обсуждению:
Использование рекурсии вместо цикла C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2016, 14:10
Готовые ответы и решения:

Выполните, пожалуйста, задание, при этом вместо оператора цикла while используйте оператора цикла do_while
Используя оператор цикла while, напишите программу для вычисления ниже следующей суммы. ...

Использование рекурсии
Написать программу, рекурсивно вычисляющую сумму: Найти сумму ряда с точностью , общий член...

Использование рекурсии
Всем хей. Такое дело, есть почти что рабочая программа. Почти что. Вот код программы. #include...

использование рекурсии с массивами
Ребят,помогите.Нужно описать рекурсивную функцию поиска максимального элемента в одномерном...

2
06.01.2016, 14:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2016, 14:10
Помогаю со студенческими работами здесь

Есть ли в этой программ алгоритма Евклида использование рекурсии?
#include &lt;iostream&gt; using namespace std; int GCD(int number1, int number2);...

вместо цикла рекурсию сделать
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;locale.h&quot; #include &quot;conio.h&quot; #include...

Отличие данных цикла и рекурсии
Подскажите, в чем отличие рекурсии: def Ancestor(guy1, guy2): if guy1 == guy2: ...

Возможно ли вместо рекурсии использовать цикл?
Просто все задачи на рекурсию которые я кое-как &quot;выполнил&quot; легко пишутся с помощью циклов. Можете...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru