Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

  • 0
Fr3nky

Problema codice in C... ai nid iour elp T_T

Domanda

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
float Radice (float x){
   float eps=0.0;
   float guess=0.0;
   float step=0.1;
   do
   {
     guess=step + guess;
              }
   while ((fabs((guess*guess)-x))>eps);
   
              return guess; 
}
 
int main () {
    float a;
    scanf("%f", &a);
    float b= Radice(a);
    printf("La radice di %f è %f\n", a, b);
    }
 

La mia domanda è: perché non funziona? viene compilato e lanciato, ma quando inserisco l'imput si blocca...
 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

4 risposte a questa domanda

Recommended Posts

Il passaggio dei parametri è sbagliato... Sulla funzione dove dichiari la X nella lista parametri metti un "*" prima e dove posizioni la x scrivi "*x"....

Non metto questa firma

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Il passaggio dei parametri è sbagliato... Sulla funzione dove dichiari la X nella lista parametri metti un "*" prima e dove posizioni la x scrivi "*x"....

Non metto questa firma

Sei sicuro? per prova ho messo un contatore per vedere quante iterazioni fa il while, e ho visto che entra in loop...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Perché prendi il valore assoluto? Dovresti lasciarlo negativo.

Oh, aspetta, non ho capito il senso del tuo codice. In teoria vuoi trovare la radice a bruteforce, no? Allora la condizione sarebbe tipo:

while(guess*guess < x)

No?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

il valore assoluto serve perché viene posto un limite nella "sensibilità" eps (in modo da non procedere all'infinito)...però ora che ci penso potrebbe funzionare anche come hai fatto tu

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.