Ejemplo 1: utilización de tuplas/pares
Hagamos una demostración práctica para devolver múltiples valores en C++. Aquí, utilizamos las técnicas de tuplas/pares para ayudar a devolver múltiples valores en nuestro código. C++ proporciona varios archivos de encabezado que debemos incluir en nuestro código. Incluimos aquí “bits/stdc++.h” ya que contiene todas las bibliotecas de programación C++. Luego, se agrega aquí el espacio de nombres que es 'std'. Después de esto, utilizamos la palabra clave 'tupla' en la que colocamos tres tipos de datos, dos tipos de datos flotantes y el tipo de datos restante 'char'. Debajo, utilizamos la palabra clave 'return' para empaquetar los valores y devolver una tupla.
Ahora, utilizamos el método 'par' para devolver múltiples valores. En este método de 'par', colocamos dos tipos de datos de variables, y aquí ambos son 'flotantes'. Las variables se denominan 'float_1' y 'float_2'. Luego, empaquetamos dos valores para volver a los 'pares'. Después de esto, invocamos 'main()' aquí y luego declaramos dos variables 'flotantes' con el nombre 'f_1, f_2'. La variable 'char' también se declara aquí como 'myChar'. Luego, descomprimimos los valores que devuelve la función “My_Tuple()”.
Debajo de esto, almacenamos los valores devueltos en pares. Almacenamos “4.99, 8.98” en la función “My_Tuple” y “6.86, 3.22” en la función “My_Pair”. Luego, utilizamos el “cout” que imprime toda la información que está escrita en su interior.
Código 1:
#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
tupla < flotar , flotar , carbonizarse > Mi_tupla ( flotar f_1, flotar f_2 ) {
devolver hacer_tupla ( f_2, f_1, '$' ) ;
}
par < flotar , flotar > Mi_par ( flotar fa, flotar pensión completa ) {
devolver hacer_par ( f_b, f_a ) ;
}
En t principal ( ) {
flotar f_1, f_2 ;
carbonizarse miChar ;
atar ( f_1, f_2, miCar ) = Mi_tupla ( 4.99 , 8.98 ) ;
par nuevo_p = Mi_par ( 6.86 , 3.22 ) ;
corte << 'Valores que obtenemos por tuplas: ' ;
corte << f_1 << ' ' << f_2 << ' ' << miChar << fin ;
corte << 'Valores que obtenemos por Par: ' ;
corte << nuevo_p. primero << ' ' << nuevo_p. segundo ;
devolver 0 ;
}
Producción :
Los valores que obtenemos aquí utilizando los métodos 'tuplas' y 'pares' se muestran a continuación. Tenga en cuenta que aquí devuelve varios valores.
Ejemplo 2: utilización de los punteros
Pasamos los parámetros junto con sus direcciones en la función 'comparar' aquí. Agregamos “valor_1” y “valor_2” del tipo “int” y el “int* g_Address, int* s_Address”. Después de esto, utilizamos la condición 'si' en la que agregamos una condición de que el 'valor_1' es mayor que el 'valor_2'. Si esto se cumple, se ejecuta la siguiente declaración. Si no es así, ignora la declaración que se agrega debajo y avanza hacia la parte 'de lo contrario'. Ahora, después de invocar 'main()', declaramos cuatro nuevas variables con los nombres 'g_value', 's_value', 'newValue1' y 'newValue2'.
Luego de esto, imprimimos un mensaje para ingresar los números y luego colocamos “cin” el cual obtiene dos valores del usuario. Los valores que ingresa el usuario se guardan en las variables “newValue1” y “newValue2”, respectivamente. Después de esto, llamamos a la función 'compare()' que creamos previamente y le pasamos cuatro parámetros. Luego, mostramos el resultado después de realizar la función “comparar” y muestra el número mayor y el número menor de esos números que ingresa el usuario.
Código 2:
#incluirusando espacio de nombres enfermedad de transmisión sexual ;
vacío comparar ( En t valor_1, En t valor_2, En t * g_Dirección, En t * s_Dirección )
{
si ( valor_1 > valor_2 ) {
* g_Dirección = valor_1 ;
* s_Dirección = valor_2 ;
}
demás {
* g_Dirección = valor_2 ;
* s_Dirección = valor_1 ;
}
}
En t principal ( )
{
En t valor_g, valor_s, nuevoValor_1, nuevoValor_2 ;
corte << 'Por favor ingrese dos números: ' <> nuevoValor_1 >> nuevoValor_2 ;
comparar ( nuevoValor_1, nuevoValor_2, & valor_g, & valor_s ) ;
corte << ' \norte El número mayor es ' << valor_g << 'y el número menor es '
<< valor_s ;
devolver 0 ;
}
Producción :
El usuario ingresa aquí '86' y '23'. Después de presionar “Enter”, muestra el resultado. De esta forma obtenemos múltiples valores.
Ejemplo 3: utilización de la matriz
Creamos aquí la función “ComputeComparison()” en la que insertamos dos variables, “num_1” y “num_2”, como tipo “int” y también una matriz llamada “my_arr[]”. Después de esto, tenemos la condición 'si' que verifica si 'num_1' es mayor que 'num_2' o no. Si es cierto, 'num_1' se asigna a 'my_arr[0]' y 'num_2' se asigna a 'my_arr[1]'. Pero si la condición no es verdadera, se ejecutan las declaraciones después de “else” en las que asignamos “num_2” a “my_arr[0]” y “num_1” a “my_arr[1]”.
Después de esto, llamamos a 'main()' aquí y luego declaramos dos variables int más: 'newNum_1' y 'newNum_2'. Después de esto, se declara una matriz de tamaño '2'. Después de esto, obtenemos dos números del usuario con la ayuda de 'cin' y luego llamamos a la función 'ComputeComparison()' y mostramos el siguiente resultado. Entonces, devuelve múltiples valores aquí.
Código 3:
#incluirusando espacio de nombres enfermedad de transmisión sexual ;
vacío ComputarComparación ( En t número_1, En t número_2, En t mi_arr [ ] )
{
si ( número_1 > número_2 ) {
mi_arr [ 0 ] = número_1 ;
mi_arr [ 1 ] = número_2 ;
}
demás {
mi_arr [ 0 ] = número_2 ;
mi_arr [ 1 ] = número_1 ;
}
}
En t principal ( )
{
En t nuevoNum_1, nuevoNum_2 ;
En t mi_arr [ 2 ] ;
corte << 'Ingrese dos números para comparar' <> nuevoNum_1 >> nuevoNum_2 ;
ComputarComparación ( nuevoNum_1, nuevoNum_2, my_arr ) ;
corte << ' \norte El número mayor es ' << mi_arr [ 0 ] << ' y el '
'el número más pequeño es ' << mi_arr [ 1 ] ;
devolver 0 ;
}
Producción :
Escribimos “54” y “98” aquí y luego presionamos “Entrar” para mostrar el resultado. Muestra los números mayores y menores de los números que ingresamos.
Ejemplo 4: Utilizando las tuplas
Aquí se incluyen dos archivos de encabezado: 'tuple' y 'iostream'. A continuación, se coloca aquí el espacio de nombres 'std'. A continuación, utilizamos la palabra clave 'tupla' e insertamos dos tipos de datos que son 'int'. Después de esto, creamos una función con el nombre 'findingValues()' y pasamos 'intValue_1' e 'intValue2' como parámetros.
Luego, se coloca el “si” donde escribimos la condición “intValue_1 < intValue_2”. Debajo, utilizamos la palabra clave 'return' y colocamos la función 'make_tuple()' en la que ambas variables se agregan como el parámetro 'intValue_1, intValue2_'. Luego, tenemos la parte “else” en la que colocamos nuevamente “return” junto con la función “make_tuple()”. Pero aquí colocamos primero el “intValue_2” y luego el “intValue1”. Ahora, llamamos a 'main()' e inicializamos 'new_value1' con '5' y 'new_value2' con '28'.
A continuación, declaramos dos variables más de tipo 'int' con los nombres 'mayor' y 'menor'. Luego, colocamos la función “tie()” y pasamos las variables “menor, mayor” como parámetro y también llamamos a la función “findingValues()” aquí. Después de esto, imprimimos ambos valores: el número mayor y el menor.
Código 4:
#incluir#incluir
usando espacio de nombres enfermedad de transmisión sexual ;
tupla encontrandoValores ( En t intValor_1, En t intValor_2 )
{
si ( valorint_1 < intValor_2 ) {
devolver hacer_tupla ( valorint_1, valorint_2 ) ;
}
demás {
devolver hacer_tupla ( valorint_2, valorint_1 ) ;
}
}
En t principal ( )
{
En t nuevo_valor1 = 5 , nuevo_valor2 = 28 ;
En t mayor, menor ;
atar ( menor, mayor ) = encontrandovalores ( nuevo_valor1, nuevo_valor2 ) ;
imprimirf ( 'El número mayor es %dy el '
'el número más pequeño es %d' ,
mayor, menor ) ;
devolver 0 ;
}
Producción :
Los números que agregamos a nuestro código muestran simultáneamente los valores mayores y menores. De esta manera, podemos devolver fácilmente múltiples valores en nuestro código.
Conclusión
Esta guía trata sobre la “devolución de múltiples valores” en códigos C++. Exploramos a fondo esta noción en esta guía y analizamos tres técnicas que ayudan a devolver múltiples valores en la programación de C++. Explicamos que se devuelven múltiples valores utilizando las técnicas de tuplas, pares, punteros y matrices. Todas estas técnicas se describen detalladamente aquí.