Raiz quadrada aproximada

Publicado por Thiago 08/11/2005

[ Hits: 13.127 ]

Download raiznewton.c




Calculando a raiz quadrada de um número através de aproximação usando o método de Newton.
Este fonte está em NCURSES sendo assim só roda no Linux que possui a biblioteca ncurses.h

  



Esconder código-fonte

/* Autor: thiagoamm
   Data: 08/11/2005 */

#include<ncurses.h>
#include<math.h>
#include<string.h>

float raiz(float param, int quant);

float raiz(float param, int quant)
{
  float x;
  int i;
  x = param / 2;
  for(i = 1; i < quant; i++)
  {
    x = (pow(x,2) + param) / (2 * x);
  }
  return(x);
}

int main(void)
{
  int i,pos,aprox,j;
  float y;
  char titulo[] = {"RAIZ QUADRADA - METODO DE NEWTON"};
  WINDOW *wstd = NULL;
  wstd = initscr();
  start_color();
  init_pair(1,COLOR_WHITE,COLOR_GREEN);
  init_pair(2,COLOR_GREEN,COLOR_WHITE);
  wclear(wstd);
  wbkgd(wstd,COLOR_PAIR(1) | A_BOLD);
  wattrset(wstd,COLOR_PAIR(1) | A_BOLD);
  box(wstd,'@','#');
  pos = (COLS - strlen(titulo)) / 2;
  j = 1;
  do
  {
   mvwprintw(wstd,1,pos,"%s",titulo);      
   mvwprintw(wstd,3,2,"INFORME O VALOR DE Y: ");
   mvwscanw(wstd,3,24,"%f",&y);
   mvwprintw(wstd,4,2,"INFORME QUANTAS APROXIMACOES DESEJA CALCULAR: ");
   mvwscanw(wstd,4,48,"%d",&aprox);      
   mvwprintw(wstd,5,2,"RESULTADO: %.5f",raiz(y,aprox));      
   mvwprintw(wstd,6,2,"--> 0 para SAIR.");   
   mvwscanw(wstd,6,22,"%d",&j);
   wclear(wstd);
   box(wstd,'@','#');
  }while(j != 0);  
   endwin();
}

Scripts recomendados

EXPRESSÕES ARITMÉTICAS - PARTE 2

Encontrando letras em frases

VALIDAR DATA EM C++ POO

Passar uma string pra caixa alta.

Convertendo char em string


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts