Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2016, 08:42   #1
программистZeroLvl
Новичок
Джуниор
 
Регистрация: 18.05.2016
Сообщений: 2
По умолчанию нужна помощь в понимании кода, с++

Это часть кода, не понимаю, как работает, написать мне помогли, только вот без объяснений
int dlina(int a[n], int k){
int len = 1;
for(int i = k + 1; i < n; i++){
if(a[i] > a[i-1]){
len++;
} else {
break;
}
}
return len;
Вопрос вот в чем, разве тут "к" не должно изначально задаваться каким-либо значением?

И другая часть кода:

int sum (int a[n], int i){
i--;
if(i > 0){
int s = sum(a, i);
if(i % 2 == 1){
s += a[i] * a[i];
}
return s;
} else {
return 0;
}
}
Как мне написали, здесь рекурсивный спуск, но я никак не могу понять, как это работает.
Буду премного благодарен за объяснения
программистZeroLvl вне форума Ответить с цитированием
Старый 07.06.2016, 08:54   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Вопрос вот в чем, разве тут "к" не должно изначально задаваться каким-либо значением?
Так оно и задается. Глазки выше поднимите на параметры функции.

Цитата:
Как мне написали, здесь рекурсивный спуск, но я никак не могу понять, как это работает.
Код:
sum(a, 5)
  sum(a, 4)
    sum(a, 3)
      sum(a, 2)
        sum(a, 1)
          sum(a, 0)
            sum(a, -1)
            s = 0
          s += a[0]*a[0]
        s += a[1]*a[1]
      s += a[2]*a[2]
    s += a[3]*a[3]
  s += a[4]*a[4]
s += a[5]*a[5]

Последний раз редактировалось p51x; 07.06.2016 в 08:58.
p51x вне форума Ответить с цитированием
Старый 07.06.2016, 09:01   #3
программистZeroLvl
Новичок
Джуниор
 
Регистрация: 18.05.2016
Сообщений: 2
По умолчанию

Все, все понял, огромное спасибо
программистZeroLvl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в понимании сокетов и indy mitiay Общие вопросы Delphi 16 30.10.2015 16:15
Необходима помощь в понимании сокетов Antony41 Работа с сетью в Delphi 12 22.10.2015 22:00
Нужна помощь в разборе кода Raelag Помощь студентам 0 01.12.2014 20:06
Нужна помощь в понимании программы, написанной на С baltushka Помощь студентам 11 06.10.2011 00:50
Нужна помощь в написании кода Михаил Юрьевич Общие вопросы Delphi 2 27.12.2007 09:32