vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« : Сентябрь 04, 2007, 02:47:33 » |
|
Может и баян Назовите функцию, которая возвращает два значения.
|
|
« Последнее редактирование: Сентябрь 14, 2007, 01:32:10 от vimmax »
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
tendervampire
Бакалавр
Карма: +12/-0
Offline
Пол:
Сообщений: 112
П.Б.Н.
|
|
« Ответ #1 : Сентябрь 04, 2007, 03:33:11 » |
|
С точки зрения терминологии - если функция возвращает структуру, состоящую из двух переменных, то считается, что это одно значение или два? А возвращение через ссылку считаем?
|
|
|
Записан
|
- Our arrows will blind out the sun - Then we will fight in the shade!
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #2 : Сентябрь 04, 2007, 03:47:30 » |
|
Нет, вариант со структурой неправильный. И возвращение по ссылке тоже не подходит.
Функция реально возвращает два значения типа int. Причем совершенно законно)))
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
tendervampire
Бакалавр
Карма: +12/-0
Offline
Пол:
Сообщений: 112
П.Б.Н.
|
|
« Ответ #3 : Сентябрь 04, 2007, 03:57:26 » |
|
Ну, не знаю. Побитово записать в один double два int'a, вернуть, разобрать обратно на два int'a
|
|
|
Записан
|
- Our arrows will blind out the sun - Then we will fight in the shade!
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #4 : Сентябрь 04, 2007, 04:01:00 » |
|
tendervampire - прикольный вариант!!! Мне очень понравился. Но это не то что я имел ввиду.
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
Olorin
Mодератор
Профессор
Карма: +25/-4
Offline
Пол: Награды:
Сообщений: 902
Кто к нам с чем зачем, тот от того и того
|
|
« Ответ #5 : Сентябрь 04, 2007, 04:15:02 » |
|
Таких функций много Назовите функцию, которая возвращает два значения.
Каждая функция, возвращающая результат типа bool, возвращает 2 значения: true если правда false если ложь.
|
|
|
Записан
|
Количество опыта пропорционально количеству выведенной из строя техники.
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #6 : Сентябрь 04, 2007, 04:21:56 » |
|
Olorin Нет) Для переменной типа bool - True и False - это множество возможных значений.
"-Какова вероятность, что на вас нападет маньяк? -50% на 50%, или нападет или не нападет!"
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
naxellar
Главный флудер
Проректор
Карма: +101/-52
Offline
Пол:
Сообщений: 5015
Главный флудер
|
|
« Ответ #7 : Сентябрь 04, 2007, 10:12:22 » |
|
vimmax, В каком языке функция? Нужно имя функции, что-ли? Уточни, а то не совсем ясно.
|
|
|
Записан
|
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #8 : Сентябрь 05, 2007, 10:01:30 » |
|
Вообще это библиотечная функция Unix систем. Думаю ее можно вызвать из библиотеки на С, ASM, Kylix и т.д.
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
EvilMax
Администратор
Завкаф
Карма: +59/-0
Offline
Пол:
Сообщений: 1072
Злой и страшный :)
|
|
« Ответ #9 : Сентябрь 05, 2007, 10:16:51 » |
|
Какой-то странный вопрос. В том же Си можно написать функцию, использующую в качестве аргументов указатели и вернуть не только два, а сколько угодно значений. Ну а если нужен пример стандартной функции, возвращающей два (или больше) значений, так возьмите тот же scanf (и другие функции из этого семейства) - возвращает число успешно введенных и присвоенных значений, ну и сами введенные значения, конечно.
|
|
|
Записан
|
Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач... --- Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #10 : Сентябрь 06, 2007, 10:05:24 » |
|
EvilMax - не-а. scanf возвращает в программу число успешно выведенных параметров - а это одна переменная типа int. Можно конечно пофилософствовать и сказать что параметры, выведенные на stdout - тоже есть возвращенные параметры, но это не та функция, которую я имел ввиду. Мой ответ с приколом, но вполне законный.
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
LazarusLong
Ирландский доброволец
Проректор
Карма: +181/-7
Offline
Пол: Награды:
Сообщений: 6134
Ukrainian by birth, Irish by the grace of God
|
|
« Ответ #11 : Сентябрь 06, 2007, 10:31:27 » |
|
Нихт фрштейн.... то есть функция реально возвращает два значения (возможно разных типов)?.... представляю себе её прототип....
|
|
|
Записан
|
Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.
"...Он любил говорить факин щит Когда что-то не так ему Принимал он свой самый ирландский вид И кидался трубкой в жену..."
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #12 : Сентябрь 06, 2007, 10:35:40 » |
|
LazarusLong - да, функция возвращает два значения типа int. Просто вы с ней не встречались )))
Функция Unix систем. Используется в многопоточном программировании.
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #13 : Сентябрь 06, 2007, 05:00:30 » |
|
НУ ?
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
EvilMax
Администратор
Завкаф
Карма: +59/-0
Offline
Пол:
Сообщений: 1072
Злой и страшный :)
|
|
« Ответ #14 : Сентябрь 06, 2007, 07:05:07 » |
|
НУ ? Ты случайно не про fork? Функция создает новый процесс путем клонирования родительского и возвращает PID в родителе и 0 в дочернем. Конечно, при условии, что дочерний процесс удалось создать.
|
|
|
Записан
|
Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач... --- Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
|
|
|
vimmax
Модератор
Декан
Карма: +42/-3
Offline
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #15 : Сентябрь 06, 2007, 07:29:22 » |
|
EvilMax - Ура, Ура, Ура !!! У нас победитель! +1. Да, Короче функция fork дублирует процесс на два равнозначных процесса и возвращает pId процесса. Т.е. был у тебя один процесс, в нем вызвал fork - и теперь у тебя в памяти два абсолютно одинаковых процесса с разными pId - распараллеливание программы. А функция fork вернет pid для первого процесса, а во втором дублированном процессе вернет pId для второго процесса, т.е. функцию вызвал один раз - а получил два ответа, хоть и для разных процессов
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
EvilMax
Администратор
Завкаф
Карма: +59/-0
Offline
Пол:
Сообщений: 1072
Злой и страшный :)
|
|
« Ответ #16 : Сентябрь 06, 2007, 07:40:35 » |
|
Ясно. Вот только в дочернем процессе будет не PID, а 0. Вот отрывок из man fork:
RETURN VALUE On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of exe‐ cution. On failure, a -1 will be returned in the parent's context, no child process will be created, and errno will be set appropriately.
|
|
|
Записан
|
Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач... --- Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
|
|
|
Olorin
Mодератор
Профессор
Карма: +25/-4
Offline
Пол: Награды:
Сообщений: 902
Кто к нам с чем зачем, тот от того и того
|
|
« Ответ #17 : Сентябрь 07, 2007, 03:03:21 » |
|
И все же я не согласен. Вопрос надо было ставить корректнее.У тебя ж не сказано, что функция возвращает одновременно 2 рез-та. Ты написал Может и баян Назовите функцию, которая возвращает два значения.True и false - это тебе не рез-ты?
|
|
|
Записан
|
Количество опыта пропорционально количеству выведенной из строя техники.
|
|
|
|