69. Programación en C++ || Funciones || Devolver valores múltiples
HTML-код
- Опубликовано: 8 фев 2025
- Puedes apuntarte al curso completo en la siguiente plataforma:
Hotmart: hotmart.com/es...
En este vídeo aprenderemos a devolver más de un valor a través de una función, utilizando los parámetros por referencia.
Visita mi sitio web para más cursos:
programacionat...
Sigueme por las redes sociales:
Facebook ProgramacionATS: goo.gl/sqmEE1
Twiter: goo.gl/WE4oaP
Hotmail: alejandro.acb@hotmail.com
Facebook personal: goo.gl/xL9qLl
instagram: @alejandroats
Cuenta paypal para donaciones: migueltaboadas@hotmail.com
💻 Apúntate al curso completo de Programación en C++:
LINK: goo.gl/7kML7Z
Un grande como siempre Taboada, que en paz descanses.
Una aclaración, es una técnica que funciona, pero en realidad la función no está retornando valores múltiples, si no que está actualizando los registros de memoria de variables que ya se habían declarado. Para devolver verdaderamente múltiples valores en C++ (con "return") se deben emplear arrays o structs.
y como sería eso, podrías poner un ejemplo con algún ejercicio?
Enrique Portugal
y como retornas un array?
gracias por el aporte
#include
#include
const int i=10;
using namespace std;
int prueba(int a,int b,int c[2]);
int main()
{ int a=3,b=4,c[2]={0,0};
prueba(a,b,c);
cout
@@luisangelcacerescarranza1363 eso es correcto amigo, en realidad estas modificando esos valores directamente por referencia.
y después de tanto tiempo, sigues ayudandonos :´)
wow eres increiblemente bueno explicando
Gracias amigo, no sabes cuanto me has ayudado!! like
Gracias a ti por ver Luis :) Un saludo desde Perú
tambien se puede construir una función que devuelva una struct.
Muy bien explicado la verdad, mis 10
Gracias mi pana, me ayudaste en una parte que me atasqué de una tarea, ojala todo salga bien, te ganaste un like crack
ojala todo hubiera salido bien :(
No puedo superarlo:(♥
Es una pena
:´(
Una pena total
Me encantan tus vídeos, he visto toda la playlist desde la primera clase, aunque hay algunos ejercicios que no he hecho o me he tomado tiempos ya que me estreso cuando no entiendo, hoy por fin entendí éstos temas, tanto el paso de paramétros por referencia y valor, como las funciones y su plantilla.
¡Muchísimas gracias! espero pronto poder comprar el curso además.
Genial! Ya estas trabajando?
#include
using namespace std;
void calc(int, int, int&, int&);
int main() {
int n1, n2, suma, prod;
cout > n1 >> n2;
calc(n1, n2, suma, prod);
return 0;
}
void calc(int x, int y, int& s, int& r) {
s = x + y;
r = x * y;
cout
Gracias por hacer videos, muy buena ayuda!!!!
una vez mas te debo una gran mentor
Eres un gran maestro, Cecyt 14 Luis Enrique Erro, Areli Mendoza, 4iv5
gracias amigo, me fuiste de muhca ayuda!
Siempre sera el mejor
Crack
Gracias hombre eres un crack¡¡¡¡¡¡
Muchas gracias , me ha ayudado mucho
2020... Y siempre regreso a ti...
F
Super F bro...
2021, sigo regresando a el, desde hace 4 años
GRACIASS ME SALVASTE LA CURSADAAAAA
En paz descanses, aun me sigues ayudando después de irte
auch
murio?
@@bxor_ si🤧
Gracias Miguel, buen aporte para quienes estamos iniciandonos en el mundo de la programación.
La finalidad de pasar valores por referencia es para poder cambiar los valores de x variable en la función main, ¿Es correcto o no?
Buen curso, pero tengo una duda en este y el anterior video, ya que habias explicado que las funciones tipo void no retornan ningun valor sino que se despliega ahi mismo todo, pero veo que aqui retornas valores de una funcion tipo void a la funcion principal.¿ O esto es valido ya que estas retornando la direccion donde esta almacenado (por referencia)?. Saludos.
En estos dos vídeos no a retornado ningún valor, sino que a ACTUALIZADO el valor de una variable, ojo no es lo mismo.
Cuando retornas un valor ese valor debe ser guardado en una variable "manualmente", pero, si se actualiza desde el espacio de memoria donde esta, el valor que se guardo en esa función se guardo también en la variable "automaticamente".
PD: Soy malisimo explicando xd.
OOOOH que genial vídeo
Buen aporte bro!,saludos
hola bunos dias quien puede ayudarme a solucionar " una funcion que llamada prueba acepta un caracter y devuelva un entero largo " le agradezco saludos
Muchas gracias.
Me salvaste bro!
Pero si en videos pasados sobre funciones le pasabamos parámetros por valor, y aun así nos podía devolver varios valores, no necesariamente debe ser parametros por referencia para que nos devuelva más de un valor, alguien podría aclararme esa duda?.
Por ejemplo con esta función:
#include
#include
using namespace std;
//Prototipo de la función
void pedirDatos();
void mult(float x,float y);
float n1,n2;
int main(){
pedirDatos();
mult(n1,n2);
getch();
return 0;
}
//Definición de la función
void pedirDatos(){
coutn1>>n2;
}
void mult(float x, float y){
float multi = x * y;
float suma = x + y;
cout
Esa función no devuelve nada, solo está mostrando por consola una dato, que se perderá.
@@alexandergutierrez9154 ya pasaron varios meses :V, hasta terminé el curso de alejandro de c++ y de java en Udemy xd
@@ricardoolivaresventura4603 y que tal, cual utilizas mas?
Gracias por tus videos me ayudan mucho soy Luis R del cecyt 14 4IV5
Desde hace tiempo que murió. :(
Hola chicos, yo aquí dejo mi aporte. En clases hemos trabajado de otra manera pero funciona igual. El de clases entiendo bien como funciona. De donde coge las direcciones de memoria y como trabaja con ellas, pero el visto aquí, me lía un poco. El siguiente código lo he hecho como seguramente lo habríamos trabajado en clase además de que he cambiado los nombres de las variables en la función calcular, porque he visto que al pasarle los valores, actúan como de manera temporal:
#include
#include
using namespace std;
// Prototipos de funciones
void calcular(int, int, int *, int *); // Esta funcion tiene 2 parametros por valor y 2 por referencia (&)
int main(){
int num1, num2, suma=0, producto=0;
coutnum1>>num2;
calcular(num1,num2, &suma, &producto);
cout
hola , eso es el uso de punteros? saludos
@@juanmolina2828 no me acuerdo 😪. Fue hace 2 años
@@mariolaguer9954 es cierto, no me fijé ...Perdón. Seguís con C++?
te amoooo wou genial
hola una pregunta como hago para retornar varios valores con una función que no sea void, es decir retornar varios valores cuando tengo una funcion que si retorna.
muy buena clase entendí a la primera ya que en clases el profe da un monton de vueltas
estaría bueno que haya unos vídeos de parámetros por referencia en c
Hola compañero me hace el gran favor, como es la función que retorna el número de caracteres en una cadena, me ayudas por fa....
se puede poner lo de digite dos numeros desde la funcion calcular
GRACIAS CRACK!!!
Cuando se pasa un parametro por referencia es porque va a cambiar su valor en la funcion?
Esto se puede hacer en C?
Por qué en el prototipo de la función solo pone el tipo de la variable y no los nombres tambien?
Me resultó útil ya que retome temas anteriores y me fue de gran utilidad para resolver mi tarea,cecyt 14,4IV6,Carlos Mendoza
muy buen video
#include
#include
using namespace std;
void calcular(int,int,int&,int&);
int main(){
int a,b,suma=0,producto=0;
couta>>b;
calcular(a,b,suma,producto);
cout
Disculpa una pregunta antes de que iniciaras a hacer el codigo yo hice el mio y pues... sinceramente no entiendo muy bien para que sirven los pasos por referencia; mira mi codigo por favor:
#include
#include
using namespace std;
void calcular(int a,int b)
{
int producto=0;
int suma=0;
producto=a*b;
suma=a+b;
cout
*/Cuando es por valor, la información de la variable se almacenan en una dirección de memoria diferente al recibirla en la funcion, por lo tanto si el valor de esa variable cambia no afecta la variable original, solo se modifica dentro del contexto de la función.
Cuando es por referencia, la variable que se recibe como parámetro en la función apunta exactamente a la misma dirección de memoria que la variable original por lo que si dentro de la función se modifica su valor también se modifica la variable original.
Con respecto a tu código tiene errores de sintaxis, deberías revisarlo. Un detalle es que arriba del main se escribe el "Prototipo de la función" y debajo del Main es declarada la función. (te recomiendo retroceder un par de videos y prestar mas atención). me tome el trabajo de corregírte el código para que veas como deberia funcionar.
//La librería conio.h me resulta innecesaria, pero si la necesitas usar agregala.
#include
using namespace std;
void calcular(int a,int b);
int main(){
int num1,num2;
coutnum1>>num2;
calcular(num1,num2);
return 0;
}
void calcular(int a,int b)
{
int producto=0;
int suma=0;
producto=a*b;
suma=a+b;
cout
Joaquín Gómez gracias... ahora entiendo mejor... 👍
cuando hacen el metodo burbuja
#funciones
cual video es del impuesto IVA por favor ?
no se está retornando nada, porque no usas la palabra return al final de la función
Una función void no retorna valores amigo!
Generar un programa que permita ingresar 2 números, valorReferencia y n y que muestre los n siguientes números a partir del valorReferencia.
Ejemplo:
Ingreso:
- valorReferencia: 100
- n: 5
Resultado:
100 101 102 103 104
como hago esto no lo entiendo saludos
hola buen dia amigo son muy buenos tus videos, tengo una duda porque en algunos programas no se declara el prototipo la de la funcion.
por ejemplo:
#include
using namespace std;
int suma(int c,int h)
{
return c+h;
}
int main()
{
int a,b;
cin>>a>>b;
cout
Marlon ST
ah
eso es xq estas poniendo la funcion al principio.el objetivo de poner el prototipo de funcion es que el compilador pueda ir viendo las funciones que vas a usar y pueda ir administrando memoria etc
proba poner la función luego de main y veras que te da error xq el compilador ve esa palabra pero no save que es(xq nadie le dijo antes que era)
saludo amigo
Se que el creador del programa no va a ver este mensaje por obvias razones (RIP), pero ¿Por qué se le ponen pasos por referencia a los parámetros para mostrar los resultados de la suma y la multiplicación?
Y para una division? Como uso float.
Exactamente, yo lo hice de esta manera y funciono :p
//Devolver valores múltiples
//Sumar, Restar, Multiplicar y Dividir 2 numeros
#include
#include
using namespace std;
void calcular(int num1, int num2, int& suma, int& restar, int& producto, float& dividir);
int main()
{
int n1, n2, sum = 0, res = 0, prod = 0;
float div = 0;
coutn1>>n2;
calcular(n1, n2, sum, res, prod, div);
cout
Seguramente los respondan después de un año jaja pero esto también imprimirla el procediendo y también me devuelve un valor ?
tengo otra duda si alguien me lo puede aclarar cuando tengo funciones que llame dentro de main y estas estan anidadas una dentro de otra que de manera se opera??
por ejemplo:
#include
using namespace std;
double pol(double x);
int main()
{
double y=0,x=1;
x=pol(1);
cout
me confundi un poco al principio pero despues entendi bien este tema,emmanuel ha,cecyt 14,4IM5
nice
Oye amigo, puedo retornar un valor tipo string de una funcion tipo int?? que alguien me ayude..
Es imposible eso, si declaras una función tipo int debe retornar solo un int, pero si quieres retornar un string y un int en una función la tienes que declarar como void y hacer lo que se realizó en el vídeo que es el paso de parámetros por referencia.
Soy Estrada Delgado Valery Vianey del CECyT 14 CONSIDERO QUE LOS REGISTROS DE LA MEMORIA DE LAS FUNCIONES SON DE VITAL IMPORTAMCIA PARA LO TIPOS DE EJERCICIOS QUE SE ESTAN REALIZANDO GRACIAS ALA ESTRUCTURA
CECyT #14.
4iv6.
Brenda Hernández.
Entendi algo
Este video de esta plataforma me ayudo a retomar temas que no sabía y mejorar un poco en mi programación respecto a este programa aplicarlo en mis actividades
CECyT_14_4IV5_Ivan_Emmanuel_S
Muchacho necesito hacer un programa aue tenga un menu de opciones pero tengo que hacerlo con las benditas funciones y no entiendo un crj xD....ayudame pls un saludo desde Peru
A alguien le funcionó?
A mi si :v
//Devolver valores múltiples
//Sumar, Restar, Multiplicar y Dividir 2 numeros
#include
#include
using namespace std;
void calcular(int num1, int num2, int& suma, int& restar, int& producto, float& dividir);
int main()
{
int n1, n2, sum = 0, res = 0, prod = 0;
float div = 0;
coutn1>>n2;
calcular(n1, n2, sum, res, prod, div);
cout
Buena explicación
Cecyt 14,4IV6, Jessica Álvarez
Me gusta la explicación es clara y precisa
Ximena M 4IV5 cecyt 14