Ir para conteúdo
Fórum Script Brasil

fernandadmf

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre fernandadmf

fernandadmf's Achievements

0

Reputação

  1. CONSERTEI! ALELUIA! kkkkkkkk ficou assim: #include <stdlib.h> #include <stdio.h> #include <math.h> #include <iostream> main() { int i,k,c; float p,x,fx,fa,a,b; c=0; while (c!=1) { printf("Digite o primeiro numero do intervalo inicial:"); scanf("%f",&a); printf("\n"); printf("Digite o último numero do intervalo inicial:"); scanf("%f",&b); printf("\n"); if (a>7||b<8){ printf("Erro, a raiz não se encontra nesse intervalo. Favor digitar outro."); printf("\n"); } else { c=1; } } printf("Digite o numero de iteracoes:"); scanf("%d",&i); printf("\n"); for (k=1; k<=i; k++) { x=(a+b)/2; fx=(sqrt(x-4))+x-9; fa=(sqrt(a-4))+a-9; p=fx*fa; if(p<0){ a = x;} else { b = x;} printf("x%d=%f",k,x ); printf("\n"); } }
  2. Muito obrigada pela resposta! Quando fiz as alterações sugeridas, a variável k funcionou corretamente, porem a X continuou sendo mostrada como "0". Não sei se o erro está no scanf das variaveis "a" e "b" ou se na operação em si, porém não está funcionando. Talvez o problema seja nas variáveis tambem, está certo colocar x, fx, fa como float por não serem números inteiros? Poderia checar se a sintaxe dessa parte está correta, por favor: x=((a+b)/2); fx=(sqrt(x-4))+x-9; fa=(sqrt(a-4))+a-9;
  3. Olá! Estou tentando fazer um código para um trabalho de cálculo numérico. O programa tem que receber o intervalo inicial (a, B) e o número de iterações (i) e mostrar as iterações pelo metódo da Bisseção para achar as raizes da equação: f(x)=(x-4)^1/2+x-9, cuja raiz está entre o intervalo 7 e 8. O código que eu montei foi esse: #include <stdlib.h> #include <stdio.h> #include <math.h> #include <iostream> main() { int a,b,i,k,c; float x,fx,fa; c=0; while (c!=1) { printf("Digite o primeiro numero do intervalo inicial:"); scanf("%d",&a); printf("\n"); printf("Digite o último numero do intervalo inicial:"); scanf("%d",&b); printf("\n"); if (a>7||b<8){ printf("Erro, a raiz não se encontra nesse intervalo. Favor digitar outro."); printf("\n"); } else { c=1; } } printf("Digite o numero de iteracoes:"); scanf("%d",&i); printf("\n"); for (k=1; k<=i; k++) { x=((a+b)/2); fx=(sqrt(x-4))+x-9; fa=(sqrt(a-4))+a-9; if(fx*fa<0){ a=x;} else { b=x;} printf("x%f=%f",&k,&x ); printf("\n"); } } O que está acontecendo: Não importa o valor que eu coloque, o resultado sai sempre o mesmo e errado. Suspeito que algo esteja errado na sintaxe e os números digitados não estão sendo armazenados corretamente. Algo pode estar errado nas operações em si também. o log de erro do compiler foi esse: Compiler: TDM-GCC 4.7.1 64-bit Executing g++.exe... g++.exe "C:\Users\Fernanda\Desktop\Untitled1.cpp" -o "nul" -I"C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include" -L"C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib" -static-libgcc nul.exe: final close failed: File truncated collect2.exe: error: ld returned 1 exit status Execution terminated Agradeço qualquer ajuda.
×
×
  • Criar Novo...