elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Raiz cuadrada en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Raiz cuadrada en c  (Leído 26,658 veces)
JOSE23

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Raiz cuadrada en c
« 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();
}



En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Raiz cuadrada en c
« Respuesta #1 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)


En línea

JOSE23

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Raiz cuadrada en c
« Respuesta #2 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
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Raiz cuadrada en c
« Respuesta #3 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
« Última modificación: 21 Febrero 2011, 17:41 pm por satu » En línea

Breakbeat como forma de vida
JOSE23

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Raiz cuadrada en c
« Respuesta #4 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...
En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Raiz cuadrada en c
« Respuesta #5 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)
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Raiz cuadrada en c
« Respuesta #6 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
En línea

Breakbeat como forma de vida
JOSE23

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Raiz cuadrada en c
« Respuesta #7 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();
}
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Raiz cuadrada en c
« Respuesta #8 en: 21 Febrero 2011, 17:38 pm »

Código
  1. main ()
  2. {
  3. int i,m,n,num,a;
  4. double raiz;
  5.  
  6. printf ("\n Introduce el primer numero, el mayor (ENTERO Y POSITIVO): ");
  7. scanf ("%i",&m);
  8. printf ("\n Introduce el segundo numero, el menor (ENTERO Y POSITIVO): ");
  9. scanf ("%i",&n);
  10.  
  11. for (i=n;i<=m;i++)
  12.   // if (i%2==0)       esto sobra, solo sirve para comprobar si un numero es par
  13.   // for (i=n;i<m;i++)      esto tambien sobra
  14.        {  // esto es lo que te faltaba
  15.        raiz=sqrt(i);
  16.        printf ("\n NUMERO ENTERO %i\t RAIZ %lf",i,raiz);
  17.        }
  18. // fflush(stdin);    esto = caca
  19. }
  20.  
En línea

Breakbeat como forma de vida
JOSE23

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Raiz cuadrada en c
« Respuesta #9 en: 21 Febrero 2011, 17:43 pm »

Gracias, me parece que me complico yo solo
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calcular raiz cuadrada
Programación Visual Basic
zered 5 6,803 Último mensaje 4 Noviembre 2007, 19:13 pm
por zered
Calcular la raíz cuadrada
Scripting
Meta 5 10,302 Último mensaje 30 Septiembre 2010, 18:16 pm
por Meta
Uso de raiz cuadrada en C#
.NET (C#, VB.NET, ASP)
Riudo 6 23,609 Último mensaje 28 Febrero 2011, 20:22 pm
por [D4N93R]
[C] Raiz Cuadrada sin math.h
Programación C/C++
edr89 5 20,295 Último mensaje 20 Mayo 2013, 06:30 am
por edr89
[Ayuda novato] Raiz cuadrada en C sin sqrt « 1 2 »
Programación C/C++
bourne1191 18 42,505 Último mensaje 6 Diciembre 2013, 20:51 pm
por amchacon
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines