Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    88

    errore strano [C]

    Non capisco perchè il copilatore mi da questo errore:
    [Linker error] undefined reference to `scostamento'


    codice:
    #include <stdio.h>
    
    #define RILEVAZIONI 5
    
    	void rilevaTemp(int *arrayRilevazioni);
    	void aggiornaTemp(int *arrayRilevazioni, int *min, int *max, int *media);
    	float scostamento(int *arrayRilevazioni, float mediaTemperature);
    
    
    
    main()
    {
    	int i;
    	int arrayTemp[RILEVAZIONI];
    	int tempMAX=0, tempMIN=0, sommaTemp=0, escursioneTermica=0;
    	float mediaTemperature=0, scostamentoMedio=0;
    
    	rilevaTemp(arrayTemp);
    	aggiornaTemp(arrayTemp, &tempMIN,  &tempMAX, &sommaTemp);
    	
    	printf("%d %d %d",tempMAX, tempMIN, sommaTemp);
    
    	mediaTemperature = (float)sommaTemp/RILEVAZIONI;
    
    	scostamentoMedio=scostamento(arrayTemp, mediaTemperature);
    
    	escursioneTermica = tempMAX-tempMIN;
    
    	printf("\nMedia temprature rilevate: %2.2f", mediaTemperature);
    	printf("\nEscursione termica: %d", escursioneTermica);
    	printf("\nScostamentoMedio: %2.2f", scostamentoMedio);
    	
    	printf("\n\n");
    
    
    
    }
    
    void rilevaTemp(int *arrayTemp){
    	int i;
    	
    	printf("\nAcquisizioni temperature rilevate\n\n");
    	
    	for(i=0; i<RILEVAZIONI; i++)
    	{
    		printf("\nTemperature ore %d ", i*2);
    		scanf("%d", &arrayTemp[i]);
    	}
    }
    
    void aggiornaTemp(int *arrayTemp, int *min, int *max, int *somma){
    	
    	int i;
    	*min=*max=arrayTemp[0];
    	
    	for(i=0; i<RILEVAZIONI; i++)
    	{
    		*somma+= arrayTemp[i];
    		arrayTemp[i]<*min ? *min=arrayTemp[i] : (arrayTemp[i]>*max ? *max=arrayTemp[i] : 0);
    	}
    }
    
    float scostamentoMedio(int *arrayTemp, float mt)
    {
    	int i;
    	float scostamentoMedio=0, sommaScostamenti=0, st=0;
    
    	for(i=0; i<RILEVAZIONI; i++)
    	{
    		st = arrayTemp[i]<mt ? mt-arrayTemp[i] : arrayTemp[i]-mt;
    		printf("\n%d", st);
    		sommaScostamenti+=st;
    		
    	}
    
    	scostamentoMedio = sommaScostamenti/RILEVAZIONI;
    
    	return scostamentoMedio;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non è strano ...

    Prima dichiari la funzione

    scostamento(...

    poi questa diventa

    scostamentoMedio(...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Beh... hai dichiarato una funzione chiamata "scostamento", ma hai implementato una funzione chiamata "scostamentoMedio"... come si deve chiamare questa funzione? "scostamento" oppure "scostamentoMedio"?

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    88
    oh mi dio!
    è il momento di prendermi una pausa

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.