Dev - C++ - Construya una función que realice intercambio de los valores entre 2 variables.

 
Vista:
sin imagen de perfil
Val: 52
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por Alexander (15 intervenciones) el 18/08/2020 15:27:32
Construya una función que realice intercambio de los valores entre 2 variables.
Dev c++
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por Alfil (1444 intervenciones) el 19/08/2020 08:04:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
 
using namespace std;
 
void intercambio(int &x, int &y);
int main()
{
    int a, b;
 
    cout << "\nValor de a: ";
    cin >> a;
    cout << "\nValor de b: ";
    cin >> b;
 
    intercambio(a, b);
 
    cout << "\nEl valor de a es " << a << " y el de b " << b << endl;;
 
    return 0;
}
 
void intercambio(int &x, int &y)
{
    int temp;
 
    temp = x;
    x = y;
    y = temp;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por Nacho (181 intervenciones) el 19/08/2020 17:04:09
Otro ejemplo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Intercambio(int* a, int* b)
{
    _asm
    {
        mov edi, a
        mov esi, b
        mov eax, dword ptr[edi]
        mov  edx, dword ptr[esi]
        xchg eax, edx
        mov dword ptr[edi], eax
        mov dword ptr[esi], edx
    }
}
 
int main()
{
    int a = 4;
    int b = 8;
    Intercambio(&a, &b);
    return 0;
}

Otro más
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Intercambio(int* a, int* b)
{
    _asm
    {
        mov edi, a
        mov esi, b
        mov eax, dword ptr[edi]
        mov  edx, dword ptr[esi]
        mov dword ptr[edi], edx
        mov dword ptr[esi], eax
    }
}
 
int main()
{
    int a = 4;
    int b = 8;
    Intercambio(&a, &b);
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 52
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por mark (15 intervenciones) el 19/08/2020 21:50:55
ALGUIEN ME AYUDA CORRIGIENDO ESTE CODIGO LO NECESITO EN ESTA LIBRERIA XFA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
int intercambio(int x, int y);
int main()
{
    int a, b;
     printf("\nValor de a: ");
     scanf("%d",&a);
     printf("\nValor de b: ");
     scanf("%d",&b);
    intercambio(a,b);
    printf("\nEl valor de a es %d y el de b %d \n");
    return 0;
}
int intercambio(int x,int y)
{
    int temp;
    temp = x;
    x = y;
    y = temp;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por Nacho (181 intervenciones) el 19/08/2020 22:11:20
Así no vale. Estás intercambiando los valores dentro de intercambio(int x, int y) pero no en la función main. Para intercambiar en main tienes que pasar la referencia de x y de y, no el valor, como pasas ahora. Fíjate en los ejemplos que han puesto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 52
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por mark (15 intervenciones) el 19/08/2020 23:26:18
me podrias ayudar xfa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por Nacho (181 intervenciones) el 20/08/2020 16:41:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void intercambio1(int* x, int* y)
{
    int temp;
    temp = *x;
    *x = *y;
    *y = temp;
}
 
void intercambio2(int& x, int& y)
{
    int temp;
    temp = x;
    x = y;
    y = temp;
}
 
int main()
{
    int a, b;
    printf("\nValor de a: ");
    scanf("%d", &a);
    printf("\nValor de b: ");
    scanf("%d", &b);
    intercambio1(&a, &b);
    printf("\nEl valor tras llamar a intercambio1 de a es %d y el de b %d \n", a, b);
    intercambio2(a, b);
    printf("\nEl valor tras llamar a intercambio2 de a es %d y el de b %d \n", a, b);
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Construya una función que realice intercambio de los valores entre 2 variables.

Publicado por Martín (158 intervenciones) el 22/08/2020 04:17:24
Sólo por curiosidad, van dos funciones que hacen el intercambio de ints sin usar una variable temporal (no usar en la vida real eh)

1
2
3
4
5
6
7
8
9
10
11
12
13
void intercambio_1(int& a, int& b)
{
    a ^= b;
    b ^= a;
    a ^= b;
}
 
void intercambio_2(int& a, int& b)
{
    a += b;
    b = a-b;
    a -= b;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar