Ir para conteúdo
Fórum Script Brasil

Gabiccs

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Gabiccs

Perfil

  • Gender
    Female

Gabiccs's Achievements

0

Reputação

  1. Gabiccs

    Pergunta (simples)

    Boa Noite. Como posso indicar o módulo de um núemero em C, ou seja, o número sem o sinal, matematicamente representado por ||. Tenho que usar no seguinte trecho } while (((b-a)>E)) Mas, preciso que seja "Módulo de (b-a)" ou |(b-a)| Att.
  2. Gabiccs

    Variável Global x Local

    é, realmente essa parte estava errada. Obrigada! Mas ainda assim o código não faz o que eu qria. porque esse 'n' declarado na função main não percorre as matrizes da função f, que era o que eu precisava... E, não sei como fazer isso. Acredito que seja com ponteiros... Mas, como foge do que eu sei, vou ter que estudar ainda.
  3. Criei um código que deveria encontrar o zero da função. Mas, deve ser aplicado 21 vezes (valores diferentes). Fiz as matrizes que indicam tais valores, mas não consigo fazer o código percorrer as matrizes. O resultado sempre apresenta os valores para quando 'n=0'. 'n' foi declarado como uma variável global. #include <stdio.h> #include <stdlib.h> #include <math.h> int n = 0; double f(float o) { double q[21]= {388.07341, 418.81479, 442.16885, 462.16931, 480.01095, 496.37744, 511.99764, 525.99764, 541.28612, 555.60796, 570.77167, 593.81948, 616.10838, 639.92981, 648.86987, 658.60439, 666.37960, 672.93722, 677.64320, 677.64320, 677.64320}; double p[21]= {131.31613, 141.60402, 148.87696, 155.24767, 161.23076, 166.96861, 171.67016, 179.48304, 187.87701, 191.80595, 202.06493, 225.74231, 258.89635, 286.37328, 301.45585, 317.76931, 334.90509, 353.95479, 375.74816, 404.68645, 420.15252}; double f[21]= {0.00022, 0.00068, 0.00124, 0.00192, 0.00275, 0.00376, 0.00494, 0.00659, 0.00910, 0.01179, 0.01553, 0.02290, 0.03279, 0.04229, 0.04697, 0.05168, 0.05684, 0.06319, 0.07201, 0.08735, 0.09867}; return (q[n] - o * pow (1 + 2.25*f[n]*f[n] - 2*1.5*f[n]*cosh ((3*p[n])/(2*o)),1/2)); } main () { int i, maxi; i=1; maxi=30; float a,b, med, E; a=300; b=1000; E= 0.0001; while ((n=!20)) { do { med=(a+b)/2; if (f(a)*f(med)<0) { b=med; } else { a=med; } i++; }while (((b-a)>E) || (i<=maxi)); printf(" Ponto %d \nA raiz esta entro o intervalo %f e %f\n Sendo aproximadamente %f\n Foram necessarias %d iteracoes\n\n\n",n, a, b, med, i); n++; } system ("pause"); } [/codebox] É possível incrementar o valor de uma variavel global?? Por favor alguém me ajude!!
  4. Boa Tarde. Preciso fazer um programa em C que encontre o zero de uma função do tipo f(x). O problema é que a função depende de valores que estão em uma matriz, e minhas tentativas até agora não deram certo. Segue um trecho do código #include <stdio.h> #include <stdlib.h> #include <math.h> int main () { float q[20]= {388.07341, 418.81479, 442.16885, 462.16931, 480.01095, 496.37744, 511.99764, 525.99764, 541.28612, 555.60796, 570.77167, 593.81948, 616.10838, 639.92981, 648.86987, 658.60439, 666.37960, 672.93722, 677.64320, 677.64320, 677.64320}; float p[20]= {131.31613, 141.60402, 148.87696, 155.24767, 161.23076, 166.96861, 171.67016, 179.48304, 187.87701, 191.80595, 202.06493, 225.74231, 258.89635, 286.37328, 301.45585, 317.76931, 334.90509, 353.95479, 375.74816, 404.68645, 420.15252}; float f[20]= {0.00022, 0.00068, 0.00124, 0.00192, 0.00275, 0.00376, 0.00494, 0.00659, 0.00910, 0.01179, 0.01553, 0.02290, 0.03279, 0.04229, 0.04697, 0.05168, 0.05684, 0.06319, 0.07201, 0.08735, 0.09867}; int n; n=1; float o; float F(o); F(o) = q[n] - o * pow (1 + 2.25*f[n]*f[n] - 2*1.5*f[n]*cosh ((3*p[n])/(2*o)),1/2); [/codebox] Aparece um erro dizendo que 'F' não pode ser usado como uma função. Já vi em alguns códigos o uso do comando [n]return[/n], mas, a função não dependia de outros valores. Alguém sabe o que posso fazer? Obrigada.
×
×
  • Criar Novo...