Возврат более одного результата.

В языке С++ передача параметров в функцию может передаваться по адресу при помощи указателей. Делается это для возврата из функции нескольких значений, в этом случае связь с переменными, выступающими в качестве параметров, сохраняется и изменения их значений видны в вызывающей функцию программе.

Пример.


#include<iostream.h>

#include<conio.h>

// #include"sqwere.cpp"

#include <math.h>

int sqwere(float a,float b, float c,float *x1,float *x2);

// объявление функции, ниже идут заголовок и тело этой функции

int sqwere(float a,float b, float c,float *x1,float *x2)

{ float d;

d=b*b-4.*a*c;

if(d<0.)return 0;

*x1=(-b-sqrt(d))/(2.*a);

*x2=(-b+sqrt(d))/(2.*a);

if(d==0.)return 1;

if(d>0) return 2;

}