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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2022, 15:31   #1
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию Вопросы по С++

Подскажите, что за функция "avg" в С++ ? По книге, она вычисляет среднее арифметическое значение. Но у меня почему то выдает ошибку. Почему? Я знаю, что можно посчитать среднее арифметическое просто математической операцией - суммированием всех чисел, и делением их на общее количество. Ну и какой смысл тогда в avg ?
Изображения
Тип файла: jpg АВГ.jpg (39.9 Кб, 63 просмотров)
Damyen вне форума Ответить с цитированием
Старый 16.03.2022, 15:44   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Вы книгу указывайте. Может там как раз и пишется эта функция или надо написать.
ForenLi вне форума Ответить с цитированием
Старый 17.03.2022, 08:46   #3
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию

Ну с функцией я разобрался, ее все таки там нужно отдельно прописывать.
Подскажите, что может быть не так в моем примере. Вот программа, вычисляющая факториал функции. Я уже проверял, что факториал 5 = 120, 6! = 720 и так далее. Но почему, когда я ввожу факториал 17 у меня число получается с минусом? А когда ввожу факториал 35 у меня получается вообще 0. Он что, ругается на очень большие числа?
Изображения
Тип файла: jpg Фактор2.jpg (60.3 Кб, 57 просмотров)
Damyen вне форума Ответить с цитированием
Старый 17.03.2022, 10:29   #4
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от Damyen Посмотреть сообщение
Он что, ругается на очень большие числа?
Естественно.

https://ru.wikipedia.org/wiki/%D0%A6...BD%D0%B8%D0%B5
ForenLi вне форума Ответить с цитированием
Старый 24.03.2022, 06:56   #5
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию

Спасибо.
Еще вот такой вопрос. Вот пример программы, которая выполняет проверку на простое число.
Почему у нас в 13 строчке, когда мы объявили функцию, мы переменную n объявили в скобках (int n) ? А в строчке "int main" скобки пустые и переменная объявляется в другой строке? И если взять вторую функцию, которая расписана как "int prime(int n)", откуда программа знает, какое будет число n, если мы его никогда не объявляли?
Изображения
Тип файла: jpg Си4.jpg (95.5 Кб, 1 просмотров)
Damyen вне форума Ответить с цитированием
Старый 24.03.2022, 07:07   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Это вам про параметры функции почитать надо (википедия). В 28 строке у функции указан формальный параметр n, а в 21 строке при вызове функции передается фактический параметр i.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 24.03.2022, 07:15   #7
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию

Но в 21 строке в скобках же указана i (prime(i)) ? Или i связана напрямую с n в данной функции?
Damyen вне форума Ответить с цитированием
Старый 24.03.2022, 10:35   #8
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Еще ж в школе рассказывают про формальные и фактические параметры. Решают разные задачи с параметрами. Да хотя бы просто считают значение в точке...

Damyen, у вас, когда в школе просят посчитать y(x) = 3*x при x = 2, не возникает вопросов? Как это? y(2)? А x куда делся? А 2 нету в 3*x... А уж если y(a)...
ForenLi вне форума Ответить с цитированием
Старый 25.03.2022, 06:20   #9
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию

А что значит фраза "функция возвращает значение" ? Допустим для примера возьмем простую программу, которая приплюсовывает к введенному числу единицу. Мы ввели 5, нам программа выдала 6. Какое значение куда возвратилось?
Damyen вне форума Ответить с цитированием
Старый 25.03.2022, 09:31   #10
maks1331
Форумчанин
 
Аватар для maks1331
 
Регистрация: 20.12.2016
Сообщений: 270
По умолчанию

Цитата:
Сообщение от Damyen Посмотреть сообщение
А что значит фраза "функция возвращает значение" ? Допустим для примера возьмем простую программу, которая приплюсовывает к введенному числу единицу. Мы ввели 5, нам программа выдала 6. Какое значение куда возвратилось?
Это не вопрос про С++, это вопрос базовой механники высокоуровневого программирования впринципе, который вытекает из тотального незнакомства с темой. Советую почитать про программирование, легких вводных курсов, правда, я не подскажу, но можно попробовать начать с JS, у него есть свой веб-справочник, очень доходчиво и с примерами.

На языке математики: У насть есть выражение: 3 + 1 = 4, где 4 это результат (она же сумма)

На языке программирования: int x = 3 + 1; x будет равен 4, почему? Как это сработало? Оператор + сложил значения 3 + 1 и передал результат (то есть вернул его) оператору =, который уже присвоил его переменной х.

Теперь давай 3 + 1 заменим на функцию
Код:
void sum(x, y) { x + y };
int x = sum(3, 1); // Failed
Такой вариант даст ошибку, т.к. нет возврата значения из функции, она что то получает, но назад ничего не дает, понял?

Код:
int sum(x, y) { return x + y };
int x = sum(3, 1); // Worked
формошлеп.рф
witech.su

Последний раз редактировалось maks1331; 25.03.2022 в 09:33.
maks1331 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по C и C++ jonikster Общие вопросы C/C++ 25 17.11.2017 09:10
Вопросы Ilai Помощь студентам 5 29.10.2014 21:35
Вопросы по БД Rost93 PHP 9 28.06.2011 22:18
Вопросы по С++ Fantazerishka Общие вопросы C/C++ 2 19.05.2010 06:52