22/09/2019, 03:53:02 pm *
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: error en cout  (Leído 1772 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Antoniio
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
México México

Mensajes: 258


Ver Perfil
« : 06/09/2015, 11:36:08 pm »

Hola, tengo un problema con un código que encontré en la web para practicar, todo andaba bien en la computadora que uso en el colegio pero al llegar a la casa y tratar de compilarlo me marca error en cout, dice que no ha sido declarado pero ya está incluída la librería cstdlib que es la que debería hacer que funcionara sin problemas. Les dejo el código:

Código:
#include <iostream>
#include <cstdlib>
#include <math.h>

double f(double x);
double biseccion ( double a, double b, double tol, int maxlter);
int main()
{
    double a, b, tol, raiz;
    int maxlter;
    cout << "por favor digite a:  ";
    cin>>a;
    cout<< "por favor digite b:  ";
    cin>>b;
    cout<< "por favor digite tol:  ";
    cin>>tol;
    cout<< "por favor digite maxlter:  ";
    cin>>maxlter;
    raiz=biseccion(a,b,tol,maxlter);
    cout<<"La raiz es: "<< raiz <<endl;
    system("pause");
    return 0;
}
 
 double f(double x)
 {
        return x*x*x+4*x*x-10;
 }
 double biseccion(double a, double b, double tol, int maxlter)
 {
        double c;
        int nolter=0;
        do
        {
            c=(a+b)/2;
            if(f(a)*f(c)<0)
            {
               b=c;
            }
            else
            {
               a=c;
            }
            cout<<nolter<<"\t"<<a<<"\t"<<b<<"\t"<<c<<"\t"<<f(c)<<endl;
            nolter++;
         }
         while((abs(f(c))>tol)&&(nolter<maxlter));
         return c;
 }

cuál puede ser el problema?, gracias de antemano.
En línea
luis
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 304


Ver Perfil
« Respuesta #1 : 07/09/2015, 12:03:41 am »


no conozco c++, pero me parece que te faltan ";" luego del if y el do-while de la última función. justamente después del if, donde creo que va un ";" faltante, hay un cout, y eso tal vez explica el mensaje de error.

por otra parte, el while de esa misma función es muy raro; parece no camibar ningún valor, y por lo tanto eventualmente no termina.

En línea
Antoniio
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
México México

Mensajes: 258


Ver Perfil
« Respuesta #2 : 07/09/2015, 12:44:44 am »

No, dudo mucho que ese sea el error; estos son los problemas que me marca:
Código:
C:\Users\Antonio\Desktop\biseccion.cpp In function 'int main()':
11 5 C:\Users\Antonio\Desktop\biseccion.cpp [Error] 'cout' was not declared in this scope
11 5 C:\Users\Antonio\Desktop\biseccion.cpp [Note] suggested alternative:
1 0 C:\Users\Antonio\Desktop\biseccion.cpp In file included from C:\Users\Antonio\Desktop\biseccion.cpp
61 18 c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream [Note] 'std::cout'
12 5 C:\Users\Antonio\Desktop\biseccion.cpp [Error] 'cin' was not declared in this scope
12 5 C:\Users\Antonio\Desktop\biseccion.cpp [Note] suggested alternative:
1 0 C:\Users\Antonio\Desktop\biseccion.cpp In file included from C:\Users\Antonio\Desktop\biseccion.cpp
60 18 c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream [Note] 'std::cin'
20 35 C:\Users\Antonio\Desktop\biseccion.cpp [Error] 'endl' was not declared in this scope
20 35 C:\Users\Antonio\Desktop\biseccion.cpp [Note] suggested alternative:
39 0 c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream In file included from c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream
1 C:\Users\Antonio\Desktop\biseccion.cpp                  from C:\Users\Antonio\Desktop\biseccion.cpp
564 5 c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\ostream [Note] 'std::endl'
C:\Users\Antonio\Desktop\biseccion.cpp In function 'double biseccion(double, double, double, int)':
44 13 C:\Users\Antonio\Desktop\biseccion.cpp [Error] 'cout' was not declared in this scope
44 13 C:\Users\Antonio\Desktop\biseccion.cpp [Note] suggested alternative:
1 0 C:\Users\Antonio\Desktop\biseccion.cpp In file included from C:\Users\Antonio\Desktop\biseccion.cpp
61 18 c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream [Note] 'std::cout'
44 66 C:\Users\Antonio\Desktop\biseccion.cpp [Error] 'endl' was not declared in this scope
44 66 C:\Users\Antonio\Desktop\biseccion.cpp [Note] suggested alternative:
39 0 c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream In file included from c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream
1 C:\Users\Antonio\Desktop\biseccion.cpp                  from C:\Users\Antonio\Desktop\biseccion.cpp
564 5 c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\ostream [Note] 'std::endl'

En línea
Abdulai
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2.236


Ver Perfil
« Respuesta #3 : 07/09/2015, 01:17:43 am »

Te falta al comienzo un
Código:
using namespace std;


Además  estás usando al final  abs(f(c))>tol  y abs() es para enteros  (debe ir fabs() )
En línea
Antoniio
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
México México

Mensajes: 258


Ver Perfil
« Respuesta #4 : 08/09/2015, 08:41:17 pm »

Una última cosa, cómo puedo hacerlo con algunas funciones definidas?, osea, no pedir a ni b, que la raíz y los valores se realicen a tres funciones que se establezcan en el programa?
En línea
Abdulai
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2.236


Ver Perfil
« Respuesta #5 : 08/09/2015, 09:17:28 pm »

Una última cosa, cómo puedo hacerlo con algunas funciones definidas?, osea, no pedir a ni b, que la raíz y los valores se realicen a tres funciones que se establezcan en el programa?

Y... declaralas inicializadas.

ej:

Código:
#include <iostream>
#include <cstdlib>
#include <math.h>

double  a = -20,
          b =  20,
        tol = 1e-8 ;

int maxlter = 100 ;

double f(double x);
double biseccion ( double a, double b, double tol, int maxlter);
int main()
{
............................
En línea
Antoniio
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
México México

Mensajes: 258


Ver Perfil
« Respuesta #6 : 08/09/2015, 10:16:26 pm »

Me refería a, por ejemplo, tener:

[texx]x^2+2x=0[/texx]
ó
[texx]x^2+3x^2-1=0[/texx]
En línea
Abdulai
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2.236


Ver Perfil
« Respuesta #7 : 08/09/2015, 11:21:26 pm »

Que el programa estime los puntos iniciales no es un problema trivial por la amplia variedad de situaciones que pueden darse, ese análisis de la función escapa a la enseñanza de programación --> por eso te dicen que los escribas.
En línea
Antoniio
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
México México

Mensajes: 258


Ver Perfil
« Respuesta #8 : 09/09/2015, 02:40:42 am »

Ya veo, de acuerdo, gracias :3
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!