28/01/2020, 11:17:49 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: LISTADO ACTUALIZADO DE CURSOS
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Método de biseccción en C  (Leído 1007 veces)
0 Usuarios y 1 Visitante están viendo este tema.
rafamatemático
Semi pleno
***

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 58


Ver Perfil
« : 06/08/2016, 16:25:16 pm »

Saludos.

¿Alguien podría indicarme el error en el siguiente código de programación? Intento programar el método de bisección en DEV C++. Al intentar compilar dice que "scantf" no está declarado en este ámbito y arroja el error en la linea 15.

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

double f(double);

int main()
{

   int imax, iter;
   double xi,xd,ea,em,test,xa,xaold;
   
   printf("\nMÉTODO DE BISECCIÓN\n\n");
   
   printf("Introduce el extremo del intervalo por la izquierda\n");
   scantf("%f",&xi);
   printf("Introduce el extremo del intervalo por la derecha\n");
   scantf("%f",&xd);
   printf("Introduce el número de iteraciones máximas\n");
   scantf("%d",&imax);
   printf("Introduce el error mínimo del cálculo\n");
   scantf("%f",&em);
   
iter=0;
xa=0;
   
if(f(xi)*f(xd)>0)
   printf("No hay ninguna raíz en ese intervalo\n");
      
else{
   
   printf("\nIter     Raíz     Error apróx.\n");
   
   do{
      
      iter++;
      
      xaold=xa;
      
      xa=(xi+xd)*0.5;
      
      ea=fabs((xa-xaold)/2)*100;
      
      test=f(xi)*f(xa);
      
      if(test<0)
         xd=xa;
         
      else if(test>0)
         xi=xa;
         
      else
         ea=0;
         
   printf("\n%d     %f      %f", iter,xa,ea);
      
   }while(ea>em && iter<imax);
}
   
   
   return 0;
}

double f(double x)
{
   return(x*x-2);
   
}
En línea
ingmarov
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 4.447



Ver Perfil
« Respuesta #1 : 06/08/2016, 16:40:08 pm »

Hola

¿No debería ser?

scanf


En lugar de scantf

http://www.cplusplus.com/reference/cstdio/scanf/
En línea

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...
rafamatemático
Semi pleno
***

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 58


Ver Perfil
« Respuesta #2 : 06/08/2016, 16:44:55 pm »

Totalmente cierto.

Muchas gracias. Estos son mis inicios en esta área.
En línea
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!