|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
||||||
Функции и их вызов. Подскажите03.11.2013, 19:21. Показов 1745. Ответов 29
Метки нет (Все метки)
Учусь в колледже и по программированию задали программу написать, котоаря бы брала четырёхзначные числа, делила бы их на две части (допустим 3025 делила бы на 30 и 25), складывала эти две полученные части и квадрат этой суммы давал бы это число т.е. (30+25)*(30+25)=3025 и программа должна была найти такие четырехзначные числа, квадрат суммы двух частей которых давал бы это число. Я взял похожий код из интернета, немного его переписал. Как бы всё понятно, кроме того - как эти функции подключены? Как мне самому подключить функции, если я напишу что-то подобное? у меня нет проблем написать сами функции самому, но вот вызвать их в мейне - проблема. Не понятные места помечаю комментарием
0
|
||||||
| 03.11.2013, 19:21 | |
|
Ответы с готовыми решениями:
29
Вызов функции внутри другой функции с передачей локальной переменной по ссылке
Вызов родовой функции (нужно передать массив в качестве аргумента функции через указатель) |
|
|
|||||||||||
| 03.11.2013, 19:25 | |||||||||||
|
Deeve,
а вот эту строку
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
|||
| 03.11.2013, 19:29 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
|||||||||||
| 03.11.2013, 19:39 | |||||||||||
|
Deeve,
Добавлено через 2 минуты Deeve, возвращает в прямом смысле. Вызывая функцию, она вернет вам какое то значение (если она должна возвращать) Пример: int t = sqrt(9); Вы вызвали функцию извлечения корня, передали ей число. Она возвращает значение (в данном примере 3). Теперь t будет равно 3. Добавлено через 5 минут Deeve, да и как то странно он сделал, я бы наверно реализовал так...
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
||
| 03.11.2013, 19:55 [ТС] | ||
|
И вот я именно конкретно не понимаю как вызываются эти функции. Как-то написанно странно. Что значит return SUM (int a), что значит то, что в скобках? К чему это обращается или что подставляет? И откуда он берет имя функции сразу после return? Как бы ты свою функцию потом вызвал в мейне? Я вот не понимаю как вызывать? Не понимаю что к чему обращается и как это делать правильно..
0
|
||
|
|
||||||
| 03.11.2013, 20:01 | ||||||
|
Deeve, свою функцию я бы вызвал так же, как у него:
Для наглядности приведу пример: у меня есть программа с 10 функциями. И в четырех из них есть передаваемое значение int temp. Так вот все эти четыре temp'а не имеют ничего общего между собой. Просто они так названы, что бы обозначить их вспомогательную роль
0
|
||||||
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
||
| 03.11.2013, 20:43 [ТС] | ||
Добавлено через 4 минуты Как в итоге a=*a получается из sum+=a%100 и a=a/100 ? Я понимаю, что sum = а%100, это a делим на 100 и то что за запятой - то и есть sum, а a/100 там просто делим на 100 - и целое число это и есть a. НО КАК "sum" превращается в a? Где это прописывается? И как они потом взаимодействуют с функцией kv? И как потом это взаимодействует с функцией мейн? ... Блин. Сложно.
0
|
||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||||
| 03.11.2013, 20:46 | ||||
|
здесь ошибка на ошибке плюс еще функция которая обозвана не так обзывается плюс имя функции равно имени переменной разбиратся с этим кодом себе дороже, проще новый написать Добавлено через 51 секунду который позабыл как функцию обозвал
0
|
||||
|
|
||||||
| 03.11.2013, 20:50 | ||||||
|
Deeve, омг. Вы по моему совсем не понимаете, как работают переменные.
смотрим:
0
|
||||||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||
| 03.11.2013, 20:51 | ||
|
попробуй описать словами алгоритм а потом поймешь код и так как разделить 4значное число на два двухзначных ААСС должно получится АА и СС чтобы получить число АА нужно разделить ААСС на 100 АА=ААСС/100 как получить число СС это остаток от деления на 100 числа ААСС СС =ААСС%100 так понятнее? а цикл в этой функции нафиг не нужен
0
|
||
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
|
| 03.11.2013, 20:54 [ТС] | |
|
Так. Понял. Выполнение программы всегда начинается с функции main? Тогда выходит примерно такой вариант:
Main обращается к sum1, и тут же, отдельно sum1 обращается к kv sum1 работает совместно с kv, и как бы являются одним целым - sum1, к которой main и обращается. так? Может не совсем правильно написал. Тогда вопрос: int func (int a) int a, b, c; int - тип данных, целые числа func - имя функции, может быть любое (int a) - ЧТО ЭТО? int a, b, c; - локальные константы или переменные в данной функции. Так?
0
|
|
|
|
|
| 03.11.2013, 20:57 | |
|
Deeve, int a это значение, которое вы даете функции. Зачастую функция создается, что бы обработать какие то данные. Вот именно эти данные вы передаете ей в скобках при вызове. Эти данные в самой функции тоже должны храниться в каких то переменных. А назвали ее а просто так
в вашем найденном коде из функции main вызывается sum1, потом из sum1 вызывается kv (сама sum1 приостанавливает работу), kv возвращает значение и sum1 продолжает работать. Потом и она возвращает значение в функцию main и main продолжает выполнение
0
|
|
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
|||||||
| 03.11.2013, 20:59 [ТС] | |||||||
|
Как разделить четырехзначное число я понимаю. СЛовами я любую задачу могу описать, но вот записать так, чтобы работало - не выходит.
Мейн имеет 2 константы - int a и int b, которые равны 3. Есть функция td. Только я не понимаю что в ней происходит. Что такое эти буквы а, но предположу, что вместо первых подставится a и b, а с типа будет равно td(a+b), но останестя тогда одна неизвестная и "c" с "td" будут постоянно меняться. Хз.
0
|
|||||||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
|
| 03.11.2013, 21:05 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
|
| 03.11.2013, 21:15 [ТС] | |
|
А как бы вы эту программу написали? Можете свои варианты выложить?
То, что вы, Фолько, объяснили - очень тяжело сообразить. Видимо у меня где-то брешь в понимании самых простейших моментов. Я учусь не в России, и не на родном языке - много чего могу не уловить из обучения. Вот только узнал, что первой читается функция мейн. До этого было непонятно как программа считывает всё. Думал сверху вниз.
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
|
||||||||||||||
| 03.11.2013, 21:16 | ||||||||||||||
|
отличие в том что в переменных можно менять значения в константах нельзя a в майне и a в td это РАЗНЫЕ переменные предлагаю такой подход пишешь листинг из одних коментариев например
0
|
||||||||||||||
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
||
| 03.11.2013, 21:17 [ТС] | ||
Разве не 56(4+3) т.е. 56*7 т.е. 392 ?
0
|
||
|
|
||||||
| 03.11.2013, 21:19 | ||||||
|
Deeve, если что, мой ник читается Фолко, а не Фолько)
А решение я уже приводил:
0
|
||||||
|
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 20
|
||
| 03.11.2013, 21:20 [ТС] | ||
Мне большую сложность являет собой состыковка мейна с другими функциями. Что значат ретурны всякие, ещё и с названием функции, либо буквой какой-нибудь, а потом ещё и в скобках что-то написано. Это же важно всё, а я этого не могу понять.
0
|
||
| 03.11.2013, 21:20 | |
|
Помогаю со студенческими работами здесь
20
Вызов функции из другой функции после нажатия на кнопку
Вызов функции визуал бейсика из функции явы скрипта Вызов анимации в коде подскажите Не работает без указателя вызов функции в функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|