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

нужна помощь с рекурсией. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Лабораторная по массивам http://www.cyberforum.ru/cpp-beginners/thread386280.html
Здравствуйте. Нам задали лаб. работу по массивам, даже не знаю как должен выглядеть код программы.. Помогите... Условие: Пользователь вводит число с плавающей точкой (меньше 10 элементов) Вывести на экран номер ошибки. ошибка №1 - В числе не одна точка ошибка №2 - В числе присутствуют символы, не являющиеся цифрами. Например: Я ввожу 6.454.543? мне должно вывести на экран "ошибка №1" и...
C++ Шаблонный класс List Имеется 2 шаблонных класса List и Node. Один объявлен другом другого. По идее должно работать, но у компилятора другое мнение на этот счет: 1>main.obj : error LNK2019: unresolved external symbol "public: void __thiscall List<int>::PrintListForward(void)const " (?PrintListForward@?$List@H@@QBEXXZ) referenced in function _main 1>main.obj : error LNK2019: unresolved external symbol "public: void... http://www.cyberforum.ru/cpp-beginners/thread386267.html
C++ Директивы препроцессора.Ошибка #error не работает.
Ребят программа должна выдавать сообщение об ошибке и прекращать компиляцию.,если,X или Y неопределены Делаю #error,но почему-то подчеркивает красным #include <iostream> #include <stdio.h> #include <fstream> using namespace std; #define X
Ошибка в программе C++
вот код программы: #include <iostream> #include <fstream> #include <string> using namespace std; int main() { cout << "Enter name file" << endl; string name;
C++ Умножение матриц. Проверка Ошибок. http://www.cyberforum.ru/cpp-beginners/thread386251.html
Снова здрасте. В общем, я почти закончил свою программу. Так мне кажется. Но, при компиляции создается екзешник, затем по началу программа работает. Ввожу элементы матрицы, но до самих расчетов не доходит. Вот сам исходник: #include <iostream> #include <conio.h> using namespace std; int main() { int i=1,j=1,k=1,l=1; int sum , rd1 , st1 , rd2 , st2 ;
C++ Что делать если нет функции Tools А у меня нет функции Tool что делать????? подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
18.11.2011, 06:07     нужна помощь с рекурсией.
Цитата Сообщение от nail25 Посмотреть сообщение
допустим есть массив 5х10. с элементами от 1-50. как с помощью рекурсии посчитать сумму каждой строки?
Способов много. Можно каждую строку разбить пополам и сложить суммы по половинам, можно откусить один элмент и сложить с суммой остальных, можно на каждом шаге рекурсии складывать не два, а три слагаемых, или сразу четыре. Если комп тянет массиврованный параллелизм (может выполять очень много параллельных ветвей), то лучше всего будет разделдить строку на две равные части, а при нечётной длине - на части, длина которых различается на один элемент, а обе суммы по этим частям считать в отдельных ветвях. В результате получим дерево, на самом нижнем уровне сложится по два соседних элемента.
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
int summ(int *a, int n)
{
 int *s;
 int *e;
 if (n>2)
 {
  s=a+n/2-1;
  e=a+n-1;
  return summ(a, s-a)+summ(s, e-s);
 }
 *e=a+1;
 return *a+*e;
}
float summ(float *a, int n)
{
 float *s;
 float *e;
 if (n>2)
 {
  s=a+n/2-1;
  e=a+n-1;
  return summ(a, s-a)+summ(s, e-s);
 }
 *e=a+1;
 return *a+*e;
}
double summ(double *a, int n)
{
 double *s;
 double *e;
 if (n>2)
 {
  s=a+n/2-1;
  e=a+n-1;
  return summ(a, s-a)+summ(s, e-s);
 }
 *e=a+1;
 return *a+*e;
}
Можешь по аналогии перегрузить для любого типа.
 
Текущее время: 01:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru