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

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

Войти
Регистрация
Восстановить пароль
 
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
#1

Подскажите что значит эта строка в коде - C++

26.05.2014, 22:23. Просмотров 343. Ответов 9
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int zada4a3(int N)
{
return N == 0 ? 0 : (N % 10) + zada4a3(N / 10); //что это значит?
}
 
int main()
{
 
 
int N = 4568;
 
cout <<zada4a3(N)<<endl;
 
return 0;
}
return N == 0 ? 0 : (N % 10) + zada4a3(N / 10); //что это значит?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 22:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите что значит эта строка в коде (C++):

Что делает эта строка в коде C++? - C++
Сейчас пишу только на C#, когда то писал на delphi. Нужно понять вот эту строку на С++: string szPrice =...

Что означает эта строка в коде? - C++
Доброго времени суток, уважаемые форумчане! Встретил в чужом коде следующую строчку: deque&lt;class MyClass&gt; DeqOfMyClass; ...

Что значит эта конструкция - C++
Здравствуйте. return (h&lt;0) ? (h + a) : h; Впервые вижу такую строку. Что на значит. Спасибо.

Что значит эта конструкция? - C++
Расскажите что это за конструкция double fm(double, int);

Что значит эта ошибка? - C++
При попытке вызвать функцию вылетает эта ошибка. Все остальные функции работают как надо #include&quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Что значит вот эта строчка? - C++
ifstream numbers Добавлено через 13 секунд ifstream numbers(&quot;numbers.txt&quot;, ios::in);

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
26.05.2014, 22:32 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Nazar199506 Посмотреть сообщение
return N == 0 ? 0 : (N % 10) + zada4a3(N / 10); //что это значит?
это называется тернарная операция условия
означает обычный if:
C++
1
2
3
4
if (N == 0)
 return 0;
else
 return (N % 10) + zada4a3(N / 10);
0
Max Dark
шКодер самоучка
1825 / 1627 / 592
Регистрация: 09.10.2013
Сообщений: 3,634
Записей в блоге: 6
Завершенные тесты: 2
26.05.2014, 22:33 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Это троичный оператор ? :
короткая запись блока if - else
до знака вопроса - условие
после - результат при истине условия
после двоеточия - результат если условие ложное

в данном случае происходит рекурсивный вызов функции с ограничением рекурсии при параметре равном нулю
0
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
26.05.2014, 22:46  [ТС] #4
XRuZzz, можете записать этот же код только с иф?

Добавлено через 4 минуты
Cra3y, спасибо, большое.
0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
26.05.2014, 22:51 #5
Цитата Сообщение от Nazar199506 Посмотреть сообщение
XRuZzz, можете записать этот же код только с иф?
а я что по твоему сделал? или тебе даже лень скопипастить мой код в свой понимаю, сам был студентом
0
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
26.05.2014, 22:55  [ТС] #6
XRuZzz,
еще такой вопрос,
Если есть последовательность нутуральных чисел, которая оканчивается 0. нужно определить самое большое значение последовательности с помощью Рекурсии.
0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
26.05.2014, 23:05 #7
Цитата Сообщение от Nazar199506 Посмотреть сообщение
Если есть последовательность нутуральных чисел, которая оканчивается 0. нужно определить самое большое значение последовательности с помощью Рекурсии.
надо сначал включить мозг, потом попробывать что нить покодить, если получается неправильно, начинаешь искать нужную тему в книге по C++, если в книге непонятно написано, спрашиваешь в форуме, перезагружаешь мозг и снова пытаешься покодить и т д.
Но можно для начала составить сам алгоритм, чтоб не отвлекаться на C++
0
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
26.05.2014, 23:06  [ТС] #8
XRuZzz, я бы мог сейчас посидет подумать, просто мне срочно нужно.
0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
26.05.2014, 23:14 #9
Цитата Сообщение от Nazar199506 Посмотреть сообщение
XRuZzz, я бы мог сейчас посидет подумать, просто мне срочно нужно.
не факт, что я думаю быстрее. На самом деле с точки зрения психологии, сложно бывает понять, как включить мозг.
Для начала надо попытаться понять как можно применить это в жизни. То есть найти решению этой задачки, наиболее полезное практическое применение. Тогда появляется стимул.
Когда есть стимул, нужно использовать все возможные способы мышления, которые есть в арсенале, для решения задачки.
Попытаться посмотреть на задачу с разных точек зрения.
я верю в ваши силы :]
0
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
26.05.2014, 23:15  [ТС] #10
XRuZzz, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2014, 23:15
Привет! Вот еще темы с ответами:

Что значит строчка в коде - C++
Всем привет! что может значить след. строчки в коде? jn = (j&gt;0)?(j-1):(LY-1) jp = (j&lt;LY-1)?(j+1):(0) LY - задано, j -...

Что значит delete this; в коде? - C++
Вот видел такой код: void Foo::Func() { ... // какой-то код delete this; } это как такое возможно. что вообще это...

Что делает эта строка? - C++
for(int ij= 0; ij&lt; m; ij++)

Что значит это строка кода? - C++
int _tmain(int argc, _TCHAR* argv) Объясните пожалуйста что значит этот участок кода, или дайте ссылку на какой либо ресурс для...


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

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

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