Autor
|
Tema: Programa que calcula el número más próximo al primero (Leído 22,463 veces)
|
DickGumshoe
|
Pedis un valor, y lo guardas en una variable, luego pedis el valor del segundo y haces la resta con el numero guardado y guardas eso y guardas en otra variable ese numero ingresado como el numero proximo, luego haces lo mismo siempre y vas verificando si la resta de uno es menor al del que esta como numero proximo, entonces modificas el numero proximo actual.
int num; ' primer numero
int resta; ' la resta
int proximo; ' el numero proximo
Restar el numero ingresado con num y guardar el resultado en resta. Poner ese numero ingresado en proximo. Pedir siguiente numero, hacer la resta y verificar si el resultado es menor a lo que vale la variable resta, si es asi cambiaras la variable proximo por el numero ingresado. Y asi hara eso siempre. No puedo ayudarte mas, y habra otras soluciones tambien
Ah, vale, muchas gracias. Eso más o menos lo tenía puesto en el papel explicándolo, pero como al pasarlo no daba bien y tenía puesto tantas cosas, no sabía qué parte estaba mal. Sabiendo que eso está bien, creo que volveré a empezar el programa, para no liarme con tanto código como antes. Muchísimas gracias.
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Hace el intento y si fracasas por lo menos deja aca el codigo para ver que haces mal, pero yo no se C++ pero lo puedo comprender al codigo y veremos que le pasa, saludos
|
|
|
En línea
|
|
|
|
DickGumshoe
|
Bueno... Aquí estoy de vuelta... (Lo siento...). (Ahora estoy haciendo solo que si solo hay un número que se aproxime más al primero, y no dos). Ahora me parece que tengo el código mejor que antes, e incluso podría llegar a pensar que lo tengo bien, excepto por una cosa, y es que al poner, por ejemplo, 1,2,3,4,5... Me dice que el número más aproximado es "0.00000" El código que tengo es: #include <stdio.h> #include <stdlib.h> int main (void){ float a,r,n,d,d2,d3,d4,n_cercano; printf("Introduce el primer numero"); scanf("%f",&a); printf("Introduce el segundo numero"); scanf("%f",&n); d=(n-a)*(n-a); printf("Introduce el tercer numero"); scanf("%f",&n); d2=(n-a)*(n-a); if(d2<d){ n_cercano=n; d=d2; } printf("Introduce el cuarto numero"); scanf("%f",&n); d3=(n-a)*(n-a); if(d3<d){ n_cercano=n; d=d3; } printf("Introduce el quinto numero"); scanf("%f",&n); d4=(n-a)*(n-a); if(d4<d){ n_cercano=n; d=d4; } printf("El numero mas cercano al primero es %f",n_cercano); system("pause"); }
Muchas gracias, y siento si os molesto mucho...
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
No me gusta mucho como esta quedando pero te digo que te falto asignarle:
n_cercano=n;
en la toma del segundo numero, es decir, en los demas haces la comparacion, pero en el segundo numero como es el primer numero posible para el numero cercano, ya se lo asignas.
Fijate si asi anda
|
|
|
En línea
|
|
|
|
DickGumshoe
|
No me gusta mucho como esta quedando pero te digo que te falto asignarle:
n_cercano=n;
en la toma del segundo numero, es decir, en los demas haces la comparacion, pero en el segundo numero como es el primer numero posible para el numero cercano, ya se lo asignas.
Fijate si asi anda
Ah, vale, muchas gracias. Se me olvidó ponerlo ahí... Bueno, entonces ya me sale esa parte. Ahora seguiré cinco minutos intentando poner si 2 números están a la misma distancia del primero, sino lo intento mañana pro la mañana. Muchísimas gracias de nuevo.
|
|
|
En línea
|
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
Bueno no he revisado el código, pero te hago unos apunte. Para que declarar como float cuando solo los usas como enteros (int). Ahora, te recomiendo este es un ejemplo en buenas prácticas de identación: Es bueno que dejes comentarios en las partes que te parezcan que sean complejas así cuando vuelvas a mirar el código sabes que hace cada cosa. Es bueno que los nombres de las variables sean explicitas y tengan relación con su uso, así te evitas dolores de cabeza más tarde. Mod: Tamaño máximo de las imágenes -> 800x600px.
|
|
« Última modificación: 16 Septiembre 2018, 01:37 am por #!drvy »
|
En línea
|
|
|
|
DickGumshoe
|
Ah, muchas gracias a ti también por la aclaración.
Declaré como float porque se supone que el programa también debe reconocer números decimales (aunque la función del programa es más bien aprender, así que también podría haberlo declarado como int, como bien dices).
Lo de los comentarios lo hice en un solo programa, pero veo que ya me va siendo necesario volver a usarlo.
Muchas gracias.
|
|
|
En línea
|
|
|
|
Taurs
Desconectado
Mensajes: 1
|
Solucion pero aun falta cuando existen 2 o mas numeros cercanos al primero, espero que les sirva!(esta en python) num1 = int (input("Ingrese un numero1: ")) num2 = int (input("Ingrese un numero2: ")) num3 = int (input("Ingrese un numero3: ")) num4 = int (input("Ingrese un numero4: ")) num5 = int (input("Ingrese un numero5: ")) ## r2 = abs(num1 - num2) r3 = abs(num1 - num3) r4 = abs(num1 - num4) r5 = abs(num1 - num5) menor = r2 cercano = num2 if r3 < menor: menor = r3 cercano = num3 print ("El mas cercano es: num3 y su valor ingresado es: ", num5) if r4 < menor: menor = r4 cercano = num4 print ("El mas cercano es: num 4 y su valor ingresado es: ", num4) if r5 < menor: menor = r5 cercano = num5 print ("El mas cercano es: num5 y su valor ingresado es: ", num5) if r2 == menor: print ("El mas cercano es: num2 y su valor ingresado es: ", num2)
Mod: Obligatorio el uso de etiquetas GeSHi para códigos.
|
|
« Última modificación: 16 Septiembre 2018, 01:38 am por #!drvy »
|
En línea
|
|
|
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Yo te podria ayudar si me sacas de una duda, a que te refierenes con el primero? "mas proximos al primero"
|
|
|
En línea
|
7w7
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Este post es de 2011, dudo que vaya a responder.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Cual es el proximo numero en la sucesion?
Dudas Generales
|
CATBro
|
2
|
8,257
|
5 Mayo 2012, 00:18 am
por CATBro
|
|
|
como puedo hacer un codigo que imprima los primero 100 numero pares en c++
Programación C/C++
|
claudioxis
|
6
|
11,835
|
4 Abril 2013, 16:43 pm
por leosansan
|
|
|
[Help] Programa que calcula sueldos
Programación C/C++
|
sora_ori
|
2
|
2,233
|
11 Diciembre 2013, 21:03 pm
por sora_ori
|
|
|
Calcula el cuadrado de un numero usando aritmetica de punteros
Programación C/C++
|
geeke
|
4
|
2,740
|
2 Abril 2015, 05:03 am
por rir3760
|
|
|
Problemas con programa k calcula factorial del numero
PHP
|
elbrujo20
|
1
|
2,411
|
29 Septiembre 2017, 22:39 pm
por ivancea96
|
|