Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿Donde me equivoco?

Estas en el tema de ¿Donde me equivoco? en el foro de C/C++ en Foros del Web. Me pide intercambiar los valores de a y b. Como lo podria hacer pasando el valor "a" a una variable aux, machacar el contenido de ...
  #1 (permalink)  
Antiguo 05/02/2013, 11:26
Avatar de boronix  
Fecha de Ingreso: enero-2013
Ubicación: España
Mensajes: 17
Antigüedad: 11 años, 3 meses
Puntos: 0
¿Donde me equivoco?

Me pide intercambiar los valores de a y b. Como lo podria hacer pasando el valor "a" a una variable aux, machacar el contenido de a con b y finalmente modificar b con lo que tiene aux??

#include<stdio.h>
#include<stdlib.h>

int main()
{
int a, b, aux;
printf("INTERCAMBIO DEL CONTENIDO DE DOS VARIABLES.\n");
printf("Introduce el valor de a: ");
scanf("%d", &a);
printf("Introduce el valor de b: ");
scanf("%d", &b);
a=aux;
aux=b;
b=a;
printf("Tras intercambiar los valores, a vale %d", b);
printf(" y b vale %d\n", a);
system("PAUSE");

}
  #2 (permalink)  
Antiguo 05/02/2013, 11:36
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: ¿Donde me equivoco?

Estas guardando el valor de aux and a, pero el valor de aux no es requerido salvarlo

Puedes asignar a a aux, luego b a a y por ultimo aux a b
  #3 (permalink)  
Antiguo 06/02/2013, 13:05
Avatar de boronix  
Fecha de Ingreso: enero-2013
Ubicación: España
Mensajes: 17
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: ¿Donde me equivoco?

Si, entiendo el enunciado, se a lo q te refieres pero como seria el codigo fuente?? Por mas q lo intento no logro hacerlo y en internet no hay ningun ejercicio que me sirva de modelo.
  #4 (permalink)  
Antiguo 06/02/2013, 13:29
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: ¿Donde me equivoco?

Buenas, pues es bastante simple aqui va un codigo asi rapido:
Código C:
Ver original
  1. int a = 5;
  2. int b = 3;
  3. int aux;
  4.  
  5. aux = a;
  6. a = b;
  7. b = aux;


Saludos
  #5 (permalink)  
Antiguo 06/02/2013, 16:53
Avatar de boronix  
Fecha de Ingreso: enero-2013
Ubicación: España
Mensajes: 17
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: ¿Donde me equivoco?

L3MON si llamas a "a"=3 y a "b"=4, cuando lo ejecutes y pones distintos numeros no te saldra un error?? De todas formas en a=aux creo q es donde me equivoco.
Muchisimas gracias L3mon por contestarme
  #6 (permalink)  
Antiguo 07/02/2013, 10:19
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: ¿Donde me equivoco?

Que quieres decir por poner distintos numeros? No importa aqui el valor que tengan los numeros (dentro de unos limites) da igual si es 5 o 2341 es lo mismo.


Saludos
  #7 (permalink)  
Antiguo 08/02/2013, 01:58
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: ¿Donde me equivoco?

Cita:
Iniciado por boronix Ver Mensaje
L3MON si llamas a "a"=3 y a "b"=4, cuando lo ejecutes y pones distintos numeros no te saldra un error?? De todas formas en a=aux creo q es donde me equivoco.
Muchisimas gracias L3mon por contestarme
La primera respuesta a tu pregunta ya te estaba indicando la solución:

Cita:
Iniciado por posman Ver Mensaje
Estas guardando el valor de aux and a, pero el valor de aux no es requerido salvarlo

Puedes asignar a a aux, luego b a a y por ultimo aux a b
Como ves, te dijeron "en palabras" lo que tenías que hacer y donde estaba el problema. El no querer ponerte el código es porque si te han pedido hacer ese ejercicio es para aprender y, si te damos el código fuente del resultado, no lo habrás conseguido. Muchas veces se aprende más con los errores que con los aciertos a la primera.

No te lo tomes a mal. Analiza el mensaje que te he quoteado y mira de sacarlo por tu mismo, y si no te funciona pon el código
__________________
Aviso: No se resuelven dudas por MP!
  #8 (permalink)  
Antiguo 08/02/2013, 06:42
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: ¿Donde me equivoco?

Cita:
Iniciado por boronix Ver Mensaje
L3MON si llamas a "a"=3 y a "b"=4, cuando lo ejecutes y pones distintos numeros no te saldra un error??
No, en C las variables no son constantes (por eso se llaman variables!). Este código es perfectamente legal:
Código C:
Ver original
  1. int a = 2;
  2. a = 5; // La cambio
  3. a = 3; // La vuevlo a cambiar
  4. scanf("%d",&a); // Le introduzco un valor por teclado
  5. a= 4; // La vuelvo a cambiar!

Etiquetas: int, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:56.