|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
13.01.2013, 10:08 | #1 (permalink) | |
Новичок
Регистрация: 13.01.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Проблема с возвратом значений из внешки
Проблема в том, что никак не удается нормально вернуть значения. Ни черта не знаю, как осуществлять возврат и использование нескольких значений, нигде не смог найти стоящей информации об этом. Цитата:
Что нужно исправить? |
|
13.01.2013, 10:08 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
К вашему вниманию предлагаю аналогичные темы, прочитайте Расчёт значений функции двух переменных Проблема с вебкамерой на видеочатах + проблема с установкой драйверов на вебку Дана квадратная матрица.Найти наибольшее из значений... |
13.01.2013, 10:59 | #2 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
функция не может возвращать несколько значений. вам необходимо использовать ссылки...
в основной программе делаешь массив с двумя элементами и передаешь в функцию в качестве ссылки/указателя а дальше в этот же массив в своей функции записываешь то, что хочешь вернуть |
13.01.2013, 11:14 | #3 (permalink) |
Новичок
Регистрация: 13.01.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Аргх... Буду благодарен, если приведете пример или же прямо в вышеуказанном коде.
В частности не ясно, что указывать в передаваемых параметрах при объявлении внешки. |
13.01.2013, 11:40 | #4 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
Вот только зачем использовать extern в данной программе?
Код:
#include <stdio.h> #include <conio.h> #include <math.h> main() { double x[2]; extern double func(double *x, double eps); double x0, x1, eps; printf("Enter x0, eps"); scanf("%lf", &x[0]); scanf("%lf", &eps); func(x, eps); printf("x0=%lf, x1=%lf",x[0], x[1]); getch(); } double func (double *x, double eps) { double k, z; m2: z=fabs(-(sin(x[0]))); if (z>=1) { printf("Process terminated"); return 1; } else x[1]=cos(x[0]); z=fabs(x[1]-x[0]); if (z>eps) { x[0]=x[1]; goto m2; } else x[0] = x[0]; x[1] = x[1]; return 0; } |
13.01.2013, 11:42 | #5 (permalink) |
Новичок
Регистрация: 13.01.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Бредовая привычка с какого-то примера.
Огромное спасибо! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|