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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
#1

сложности по рекурсии в С++ - C++

06.04.2013, 04:27. Просмотров 383. Ответов 3
Метки нет (Все метки)

Правильно ли, что в функции:
C++
1
2
3
4
5
6
7
8
9
10
11
{
 if (number < 0)
  { 
cout << '-' << endl;
super_write_vertical(abs(number));
   }
else if (number < 10)
cout << number << endl;
else { super_write_vertical(number/10);
cout << number % 10 << endl;}
 }
super_write_vertical(-1023) создаёт наибольший рекурсивный вызов из возможных:
A) super_write_vertical(-1023)

B) super_write_vertical(0)

C) super_write_vertical(100)

D) super_write_vertical(1023)???
________________________________________________________________________

Что не правильно в следующей рекурсивной функции:
C++
1
2
3
4
5
6
int recursiveSum(const int data[], int length)
{
 if (length == 1)   
return data[0];   
else 
 return data[length-1] + recursiveSum(data, length-1);
а) рекурсивная функция не может содержать массив в роли аргумента;
б) рекурсивный вызов содержит не правильный синтаксис;
в) функция не всегда обнаруживает stopping case;
г) ничего, функция правильно суммирует значения в массиве.
_____________________________________________________________

Во время компиляции программы, чем рекурсивная функция отличается от не рекурсивной:
- все параметры рассматриваются как ссылочные аргументы;
- все параметры рассматриваются как value - аргументы по значению;
- нет повторений локальных переменных;
- ничего из выше перечисленного.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 04:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сложности по рекурсии в С++ (C++):

Сложности с задачей на си++ - C++
2. Решите задачу, используя один указатель на функцию. Разработайте четыре функции над двумя целыми параметрами, соответствующие...

Сложности с решением - C++
Дана последовательность целых чисел. Разделить эту последовательность на две группы чисел с минимально отличающейся суммой чисел. Помогите...

Сложности в изучении С++ - C++
Всем привет! Решил изучить С++. В интернете рекомендуют почитать Страуструпа. Скачал, читаю, но сложно воспринимаю. Очень много...

Сложности со структурами - C++
Проблема в том, что структура students ch работает только с (а), которая была введена через константу, а через ввод с клавиатуры нет. ...

Возникли сложности - C++
По ходу изучения возник вопрос: Данное объявление - легально для объявления С String? char test = { 'a', 'b', 'c', '\0' }. ...

Сложности с массивом со строками - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class Project { private: int date=0; string name; int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
06.04.2013, 04:44 #2
1) A)
да, та функция расписывает построчно символы числа, в "-1023" больше всего символов (т.к. есть "-")

2) В)
нормальная функция, аргументы верны, массив не меняется, передаётся указатель на него, уверен что сумму элементов выдаст, однако если массив пуст - ничего хорошего не будет... у неё stop case только для длины массива >=1
и кстати вместо
int length

следует задать
size_t length


3) -ничего из выше перечисленного
хотя тут меньше уверен, удивлюсь если другой ответ
1
Croessmah
Эксперт CЭксперт С++
13219 / 7491 / 844
Регистрация: 27.09.2012
Сообщений: 18,411
Записей в блоге: 3
Завершенные тесты: 1
06.04.2013, 08:31 #3
Цитата Сообщение от QWERY_2012 Посмотреть сообщение
Что не правильно в следующей рекурсивной функции:
3) Имхо, вириант В. Если length будет сразу меньше единицы, тогда беда...
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
06.04.2013, 09:00 #4
прям как в ЕГЭ, с одной стороны ф-ция таки суммирует, с другой, контроля на переданные данные нет, так что возможно и вариант В. Ответ в голове того, кто этот вопрос создал.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 09:00
Привет! Вот еще темы с ответами:

Оценка сложности алгоритма - C++
народ хелп for(i=0; i&lt;N; i++) for(j=0; j&lt;N; j++) for(k=0; k&lt;N; k++) someFunction(i,j,k); ...

Сложности в выборе IDE - C++
Добрый день, в очередной раз прошу совета у Гуру! Обрисую ситуацию: До недавнего времени работал в Delphi 7/2006, но прочитав С++...

Сортировка сложности O(n log(n) - C++
Здравствуйте. Я новичок в мире с++, поэтому прошу помощи. Нужно отсортировать массив состоящий только из 0, 1, 2 по возрастанию. Сложность...

Сложности с созданим циклов - C++
Добрый день пишу простейшую программу( т.к. только осваиваю язык) и столкнулся с проблемой. Через printf() или cout вывожу список...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.04.2013, 09:00
Ответ Создать тему
Опции темы

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