Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    C aiuto programma nn credo vada bene!

    salve vorrei un aiuto s eè possibile su un programma c che sto perdendo la testa, perchè credo che in questo modo nn vada affatto bene.:

    codice:
    /*Scrivere una fuction C per calcolare una somma di addendi a segno alterno*/
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #include<float.h>
    
    void sommaSegno(float a, float S);
    void main()
    {
    	float a=1, s=0.;
     
        sommaSegno(a,s);
    	printf("la somma =%d \n",sommaSegno);
    }
    
    void sommaSegno(float a, float s)
    {
    	int i,segno=+1;
    	while (i>-50)
    	{
         s=s*FLT_EPSILON;
         s+=(segno)*(a);
    	 printf("somma addendi =%d \n",s);
         a=(float)pow(10, --i);
    	 segno=-segno;
    	 
      }
    }
    aiutatemi grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Oltre ad usare un titolo adeguato, devi anche indicare cosa non va ... non puoi lasciarlo all'immaginazione di chi ti vorrebbe rispondere ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,327
    Originariamente inviato da oregon
    Oltre ad usare un titolo adeguato, devi anche indicare cosa non va ... non puoi lasciarlo all'immaginazione di chi ti vorrebbe rispondere ...
    E il codice va postato usando gli appositi tag CODE, come espressamente indicato dal regolamento nel punto 6.

    Provo ad aggiungerli (se è indentato) e correggo il titolo.


    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
    Chiedo scusa per i troppi errori che ho fatto nello scrivere un topic!
    Il programma funziona , pero non sono convinto che la fuction sommaSegno l'ho fatta correttamente , credo che mi da un risultato sbagliato!
    percio volevo un aiuto.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da pablitoss
    ... credo che mi da un risultato sbagliato!
    Ovvero?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    int i,segno=+1;
    sicuramente questa riga è sbagliata.. segno non è inizializzato nè a 1 nè a 0 + 1 (col +=) perchè è indefinita

    fai così

    codice:
    int i, segno;
    segno = 1;
    eppoi che serve fare
    segno=-segno;
    mettilo a 0 no?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Stoicenko
    sicuramente questa riga è sbagliata.. segno non è inizializzato nè a 1 nè a 0 + 1 (col +=) ...
    Attenzione ... non e' += ma =+ ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Sì, così come segno = -segno non è segno -= segno ma serve appunto a "cambiare il segno", cioè a passare da + 1 a -1 o viceversa... diciamo che l'assegnazione segno = +1 è ridondante ( segno = 1 andrebbe benissimo lo stesso ) ma nella fattispecie del caso è coerente con quello che si vuole fare.

    Comunque direi che l'errore più serio è qui (abbastanza evidente):

    codice:
            sommaSegno(a,s);
    	printf("la somma =%d \n",sommaSegno);
    sommaSegno non è una variabile... è il nome di una funzione che corrisponde al suo indirizzo in memoria... devi riscrivere così:

    codice:
    	printf("la somma =%d \n",sommaSegno(a, s) );
    e comunque non andrebbe bene perché sommaSegno non restituisce nulla... dovresti passare s per riferimento (&s) e poi stampare s all'interno di main().

    [OT]ciao pablitoss [/OT]
    every day above ground is a good one

  9. #9
    Grazie dei vostri interventi , yuyevon ho apportato le modiche che mi hai detto ma la somma viene 1245048 , nn credo sia esatta.
    grazie

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Posta il codice modificato.
    every day above ground is a good one

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.