2014-12-12 2 views
0

У меня есть проблема и вам нужно несколько советов. Я написал функцию для pq-формулы и хотел спросить, как можно вернуть два значения? И как я могу вставить необязательный аргумент в свою функцию? Как квадратный корень, который не всегда нужен? Вот мой код. Я ценю любую помощь. Заранее спасибо.pq-formula должен возвращать 2 значения

double pqformula(int xSquare /*this one should be optional*/, int px, int q) 
{ 
    q /= xSquare; 
    if(px < 0) px *= -1; 
    if(q < 0) px *= -1; 
    px /= 2; 
    double save = px * px; 
    if(q < 0) save += q; 
    if(q > 0) save -= q; 
    double x1 = px + double(sqrt(save)); 
    double x2 = px - double(sqrt(save)); 
} 
+0

1.) заставить функцию возвращать 'double *' и возвращать массив двумя повторами; 2.) обычно нет никаких дополнительных аргументов в C-функциях; просто передайте 1, если вам не нужен 'xSquare' –

ответ

1

Либо возвращает указатель на массив удваивается, или добавить дополнительные аргументы двойного указателя и передать указатели на переменные, которые удваивают функция может затем сохранить результаты в.

И как @Ingo уже прокомментировала : никаких необязательных параметров в C, здесь не проблема, хотя как «1» будет нейтральным значением для xSquare.

+0

Он работал. Спасибо за помощь! – Valinho

Смежные вопросы