Intercambiar dos números utilizando funciones

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, discutiremos cómo intercambiar dos números utilizando funciones en C++. Hay dos métodos para resolver este problema con la ayuda de funciones:


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/AdvancedConceptsGroup(["Advanced Concepts"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/AdvancedConceptsGroup -.-> cpp/pointers("Pointers") cpp/AdvancedConceptsGroup -.-> cpp/references("References") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/function_parameters -.-> lab-96216{{"Intercambiar dos números utilizando funciones"}} cpp/pointers -.-> lab-96216{{"Intercambiar dos números utilizando funciones"}} cpp/references -.-> lab-96216{{"Intercambiar dos números utilizando funciones"}} cpp/output -.-> lab-96216{{"Intercambiar dos números utilizando funciones"}} cpp/user_input -.-> lab-96216{{"Intercambiar dos números utilizando funciones"}} cpp/files -.-> lab-96216{{"Intercambiar dos números utilizando funciones"}} cpp/code_formatting -.-> lab-96216{{"Intercambiar dos números utilizando funciones"}} end

Crea un nuevo archivo de C++

Para comenzar, crea un nuevo archivo de C++ en tu editor de código preferido. Debes proporcionar la ruta y el nombre del archivo de código al principio del laboratorio. Por ejemplo: ~/proyecto/main.cpp.

touch ~/proyecto/main.cpp

Intercambia dos números utilizando llamada por valor

En la llamada por valor, los parámetros reales se pasan al llamar a la función, y las operaciones que afectan a los parámetros formales no se reflejan en los parámetros reales. Aquí está cómo implementarlo:

#include<iostream>
using namespace std;

void swap(int x,int y);
/*Intercambio de dos números en C++ utilizando llamada por valor de funciones*/

int main()
{
    int a,b;
    cout<<"Ingrese los dos números a intercambiar en C++: ";
    cin>>a>>b;
    cout<<"\nDespués de intercambiar los dos números:";
    swap(a,b);
    return 0;
}

void swap(int x,int y)
{
    int z;
    /*Variable adicional para almacenar el valor de la primera o segunda variable*/
    z = x;
    /*Copiar el valor de la primera variable a la variable temporal*/
    x = y;
    /*Copiar el valor de la segunda variable a la primera variable*/
    y = z;
    /*Copiar el valor de la variable temporal a la segunda variable*/
    cout<<" "<<x<<"   "<<y;
}

Para ejecutar el código, guarde el archivo y abra la terminal y escriba el siguiente comando:

g++ main.cpp -o main &&./main

Intercambia dos números utilizando llamada por referencia

En la llamada por referencia, pasamos la dirección del parámetro real en el parámetro formal, por lo que los cambios en los parámetros formales se reflejan en los parámetros reales. Aquí está cómo implementarlo:

#include<iostream>
using namespace std;

void swap(int *x,int *y);
/*Intercambio de dos números en C++ utilizando llamada por referencia de funciones*/

int main()
{
    int a,b;
    cout<<"Ingrese dos números para intercambiar: ";
    cin>>a>>b;

    swap(&a,&b);

    cout<<"\nDespués de intercambiar dos números: ";
    cout<<a<<" "<<b<<" \n";

    return 0;
}

void swap(int *x,int *y)
{
    int z;
    z = *x;
    /*Copiar la dirección de la primera variable a la variable temporal*/
    *x = *y;
    /*Copiar la dirección de la segunda variable a la primera variable*/
    *y = z;
    /*Copiar la dirección de la variable temporal a la segunda variable*/
}

Para ejecutar el código, guarde el archivo y abra la terminal y escriba el siguiente comando:

g++ main.cpp -o main &&./main

Código completo para el archivo main.cpp

Aquí está el código completo para el archivo main.cpp:

#include<iostream>
using namespace std;

void swap(int x,int y);
/*Intercambio de dos números en C++ utilizando llamada por valor de funciones*/

void swap(int *x,int *y);
/*Intercambio de dos números en C++ utilizando llamada por referencia de funciones*/

int main()
{
    int a,b;
    cout<<"Ingrese el primer número: ";
    cin>>a;

    cout<<"Ingrese el segundo número: ";
    cin>>b;

    // Método 1: Llamada por valor
    cout<<"\nIntercambio de dos números utilizando llamada por valor\n";
    swap(a,b);

    // Método 2: Llamada por referencia
    cout<<"\nIntercambio de dos números utilizando llamada por referencia\n";
    swap(&a,&b);

    return 0;
}

void swap(int x,int y)
{
    int z;
    /*Variable adicional para almacenar el valor de la primera o segunda variable*/
    z = x;
    /*Copiar el valor de la primera variable a la variable temporal*/
    x = y;
    /*Copiar el valor de la segunda variable a la primera variable*/
    y = z;
    /*Copiar el valor de la variable temporal a la segunda variable*/
    cout<<" "<<x<<"   "<<y;
}

void swap(int *x,int *y)
{
    int z;
    z = *x;
    /*Copiar la dirección de la primera variable a la variable temporal*/
    *x = *y;
    /*Copiar la dirección de la segunda variable a la primera variable*/
    *y = z;
    /*Copiar la dirección de la variable temporal a la segunda variable*/
}

Ejecuta el código

Guarda el archivo, abre la terminal y escribe el siguiente comando para ejecutar el código:

g++ main.cpp -o main &&./main

Resumen

En este laboratorio, hemos aprendido cómo utilizar funciones para intercambiar dos números utilizando los métodos de llamada por valor y llamada por referencia en el lenguaje de programación C++.