Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    22

    [C] salvare variabile su array durante un ciclo

    Allora ho un programma dove durante un ciclo do-while devo salvare i risultati di alcune operazioni su un array e poi stamparne i risultati, io ho definito un array di lunghezza sufficiente, da precompilatore, e poi nel ciclo ho sostituito il nome della variabile precedentemente dichiarata con il risultato ma mi da errore, ho paura che si debbano usare i puntatori su cui io non sono molto ferrato quindi vi chiedo aiuto.Vi posto il codice per farvi capire la situazione, mai il resto del programma va bene:

    codice:
    #include <stdio.h> 
    #include<stdlib.h> 
    #include<time.h> 
    #include<math.h> 
    #define LEN  20  
    
    double Taylor(double);  i
    
    nt main(){ 
    
      srand48(time(0));     
    
    double diff,x,ln,c,p,val,arr[LEN];   
    
    int it=0;    
    printf("\n Scriverò un programma che approssima la funzione logaritmo con il polinomio di Taylor \n");  
    
    do{  
    c=(double)lrand48()/RAND_MAX;  
    if(c>0.5){p=1;}  else{p=2;}  
    val=((double)lrand48()/RAND_MAX)*pow(-1,p);  
    x=val;  
    ln=Taylor(x);  
    diff=log(1+x)-ln;
    arr[diff];                            !!!!!!!!questo è il passaggio importante!!!!!!!!!!!!
    it++;  
    printf("L'approssimazione di Taylor vale %lf \n \n La differenza vale %lf \n\n", ln, fabs(diff));   }   
    while(it<20);     
    return 0; 
    }      
    
    double Taylor(double x){   
    int n;   
    double ln=0,taylor;   
    n=0;      
    for(n=1;n<5;n++){     
    taylor=(pow(-1,n-1)*pow(x,n))/n;     
    ln=ln+taylor;   
    }   
    return ln; 
     }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    L'indice di un array deve essere un int, non può essere un double.

    Che senso ha utilizzare l'elemento 3,41 di un array?

    E poi con

    arr[diff];

    non fai nulla ... non assegni il valore dell'elemento ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    22
    Ho risolto però avrei un'altra domanda:

    Io ho ho popolato un array in una funzione void che chiamo nel main,nella funzione void tramite un ciclo do-while popolo un array unidimensionale con il risultato di certe espressioni , dopo di questa devo costruire un altra funzione, non void, che prende come input l'array contenente quei risultati.Come posso fare, non posso restituire niente dalla prima funzione quindi non saprei come passare l'array, ho provato a fare qualcosa con i puntatori ma niente.Qualche idea???

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Devi aprire un altro thread, con titolo apposito, mostrare il codice e spiegare il problema.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.