R.G.A.M. wrote:
> Intento crear un programa con Dev - C++. Necesito una función, en la
> cual ingrese dos argumentos, y cuya salida sea dos, también.
Una función sólo devuelve un elemento, ahora bien, un elemento puede
contener otros elementos. Para 2 elementos tienes std:

air, aunque como ya
te ha dicho Pedro Maicas, devolver por valor datos complejos no es
eficiente. SerÃ***a mejor pasar por referencia los datos a modificar.
> Para ello
> probé la operación de intercambio de variables:
>
> int intercambio_variables(int var1,int var2)
> {
> return(var2,var1);
> }
No, esta función devuelve un entero, y sólo uno.
De todas formas, para intercambiar 2 variables deberÃ***as usar std::swap
> Al hacer la prueba de escritorio, me da lo siguiente:
>
> int A = 1;
> int B = 0;
> cout << intercambio_variables(A,B);
>
> El resultado que aparece siempre es 1, en este caso.
> ¿Existe alguna forma de definir una función de modo que logre obtener
> los dos valores deseados? (por supuesto que es posible, sólo que no sé
> cómo)
std:

air<int,int> intercambio_variables(int var1,int var2)
{
return std:

air<int,int>(var2, var1);
}
Ahora bien, creo que no esta definido el operador << para std:

air, aunque
podrÃ***as definirlo tu.
> Suelo manejar Scilab, y estoy incursionando en C++. Con este primero
> no tengo problema, ya que puedo declarar una función de esta forma:
>
> function [X,Y] = intercambiar(m,n) //X,Y son los argumentos de salida.
> X = n
> Y = a
> endfunction
>
> Y, si tomo el siguiente ejemplo, se realiza exitosamente el
> intercambio de variables:
>
> A = 1
> B = 0
> [A,B] = intercambiar(A,B)
> disp(A,B)
Aunque haya cierta similitud en la sintaxis, cada lenguaje tiene su forma de
hacer las cosas. No puedes/debes usar C++ asÃ***. Aunque no debe ser difÃ***cil
portar código de Scilab a C++, hace tiempo porté varias simulaciones de
Matlab a C sin muchos problemas, aunque también es cierto que las
desarrollé con la idea de correrlas al final en C
> Más que nada me interesa saber cómo puedo convertir la salida de una
> función en un array, y leer sin inconvenientes.
La salida de una función será la que tu declares, puede ser int, o
std::vector<float> o cualquier tipo que puedas crear, ahora bien, la
eficiencia ya es otra historia.
Si haces mucho cálculo matricial y quieres devolver "matrices", "vectores" o
mejor dicho, algo que se comporte como si lo fuera y con un rendimiento
óptimo, debes dominar los "expression templates", aunque requiere un buen
dominio del C++:
http://www.ddj.com/dept/cpp/184401627
hay varias bibliotecas matemáticas libres que usan esta técnica.
> Muchas gracias por toda la ayuda que pudieran proporcionar.
De nada, y ánimo con el C++