Título: Raiz cuadrada en c Publicado por: JOSE23 en 21 Febrero 2011, 16:09 pm HOLA, TENGO QUE HACER UN EJERCICIO DE CLASE, ES EL SIGUIENTE.
Introducir dos números enteros y positivos (M y N). Diseñar un programa que calcule la raiz cuadrada de todos los números enteros comprendidos entre ambos (inclusive), mostrando tanto el número como su raiz en dos columnas. SOLO SE PUEDE UTILIZAR EL FOR. El problema lo tengo con la raíz, no se como sacarlas. Agrego el codigo por si alguien puede darme una posible solución... Código: #include <stdio.h> #include <math.h> // Función Principal main () { int i,m,n,num; double raiz; raiz=sqrt(i); printf ("\n Introduce el primer numero, el mayor (ENTERO Y POSITIVO): "); scanf ("%i",&m); printf ("\n Introduce el segundo numero, el menor (ENTERO Y POSITIVO): "); scanf ("%i",&n); for (i=n;i<=m;i++) if (i%2==0) printf ("\n NUMERO ENTERO %i\tRAIZ %lf",i,raiz); fflush(stdin); getchar(); } Título: Re: Raiz cuadrada en c Publicado por: Ferno en 21 Febrero 2011, 16:19 pm Mira bien lo que estás haciendo.
Estás declarando una variable de tipo int "i" y luego usas sqrt(i) a dicha variable. Pero dicha variable no posee NINGUN VALOR. Apenas la creaste!! Esa función sqrt(i) debes aplicarla a cada valor que se encuentre entre tu N y tu M, por ende, debe poseer un valor diferente cada vez que se utiliza, por ende, debe ir dentro del ciclo for. PD: Revisa bien ese error, y piensa en lo que hiciste! Le estás sacando raiz cuadrada a la nada, debido a que no le asignaste ningún valor a la variable "i". (De más está decir que tampoco cumplía con lo pedido en tu enunciado) Título: Re: Raiz cuadrada en c Publicado por: JOSE23 en 21 Febrero 2011, 16:32 pm Y como puedo decirle al programa que cada vez que se utiliza sqrt debe de tener un valor diferente, no lo entiendo
Título: Re: Raiz cuadrada en c Publicado por: satu en 21 Febrero 2011, 16:58 pm - Pides el valor de M y N
- for( i = N, i<=M, i++) -- raiz = sqrt(i) -- Muestras i y raiz EDITO: he añadido guiones (-) para que se entienda mejor Título: Re: Raiz cuadrada en c Publicado por: JOSE23 en 21 Febrero 2011, 17:12 pm haciendo lo que me indica Satu; solo consigo que me diga la raiz de un numero, no de cada uno de los valores...
Título: Re: Raiz cuadrada en c Publicado por: Ferno en 21 Febrero 2011, 17:27 pm No, porque dentro del for, el valor de la variable "i" va iterando, creciendo de 1 en 1. Por ende, cada vez que se ejecute sqrt en el for, te dirá la raiz de cada valor que toma "i" (el cual, como te dije, va aumentando)
Título: Re: Raiz cuadrada en c Publicado por: satu en 21 Febrero 2011, 17:28 pm Hola
Postea lo que hayas hecho basándote en lo que te he dicho para que veamos donde falla Saludos Título: Re: Raiz cuadrada en c Publicado por: JOSE23 en 21 Febrero 2011, 17:31 pm Código: main () { int i,m,n,num,a; double raiz; printf ("\n Introduce el primer numero, el mayor (ENTERO Y POSITIVO): "); scanf ("%i",&m); printf ("\n Introduce el segundo numero, el menor (ENTERO Y POSITIVO): "); scanf ("%i",&n); for (i=n;i<=m;i++) if (i%2==0) for (i=n;i<m;i++) raiz=sqrt(i); printf ("\n NUMERO ENTERO %i\t RAIZ %lf",i,raiz); fflush(stdin); getchar(); } Título: Re: Raiz cuadrada en c Publicado por: satu en 21 Febrero 2011, 17:38 pm Código
Título: Re: Raiz cuadrada en c Publicado por: JOSE23 en 21 Febrero 2011, 17:43 pm Gracias, me parece que me complico yo solo
Título: Re: Raiz cuadrada en c Publicado por: satu en 21 Febrero 2011, 17:50 pm De nada, para eso estamos.
He visto que cometes algunos errores, como por ejemplo incluir librerias de C como stdio.h (en el título pones C++) o fflush(stdin) Para C++ debes incluir <cstdio> o <cmath> sin el .h Léete esto (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html) que escribió LH que te vendrá muy bien Saludos Título: Re: Raiz cuadrada en c Publicado por: JOSE23 en 21 Febrero 2011, 18:06 pm Estoy utilizando el programa Dev - C++
|