Intercambiar dos números usando punteros

Intercambiar dos números usando punteros

Introducción a los punteros:

Los punteros son un tipo de datos que ofrece C++ para almacenar la dirección de memoria de otros tipos de datos.

Sintaxis:

<data_type> pointer_name;

Aquí tipo de datos es el tipo de datos de la variable cuyo valor contendrá un puntero.

'* El operador asteric se utiliza para acceder al valor cuya dirección está almacenando un puntero.

Ejemplo ,

int *a;

int b=12;

cout<<a<<”\n”;

cout<<*a;

En este programa, la tercera línea imprimirá la dirección de b en la memoria, mientras que la cuarta línea imprimirá el valor de b (es decir, 12). Leer más.

Aproximación al problema dado:

Para intercambiar dos números usando punteros, primero almacenaremos los valores en variables normales y les declararemos dos punteros. Luego declararemos una temperatura de puntero. Luego, con la ayuda del operador '*', almacenaremos el valor del primer puntero en temp. Luego cambiaremos el valor en el primer puntero igual al valor en el segundo puntero y luego estableceremos el valor del segundo puntero igual al valor en temp.

Algoritmo:

  1. Ingrese dos números del usuario y guárdelos en a y b.
  2. Declare los tres puntos x, y y temp.
  3. Establezca el valor en 'x' a 'temp'.
  4. Establezca el valor en 'y' a 'x'.
  5. Establezca el valor en 'temp' en 'x'.
  6. Muestre los números después de intercambiar usando los punteros 'x' e 'y'.

Código:

#include <iostream>

using namespace std;

int main()

{   int a,b;

cout << "Enter two numbers\n"; //taking input from the user

cin>>a>>b;

int *x,*y,temp;

x=&a; //setting pointers to store the address of

y=&b; // variables containing entered values

temp=*x; //swapping

*x=*y;

*y=temp;

cout<<"Numbers after swapping:"; //displaying the numbers after swapping

cout<<"\nfirst number="<<a;

cout<<"\nsecond number="<<b;

return 0;

}

Salida:

Enter two numbers: 
14 16

Number after swapping:
first number=16
second number=14