Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14

Discussione: [C++] Funzioni?!?

  1. #11
    /*
    *Un semplice programma che illustra il passaggio
    *di un array ad una funzione
    */

    #include <iostream.h>
    #define SIZE 5; // Definisci una cosiddetta MACRO...cioè una variabile SIZE che avrà valore pari a cinque in tutto il tuo programma

    void somma(int array[])
    // Prototipo della funzione...quando la richiamerai...si
    // aspetta in input un array di interi
    {
    int i; // Inizializzi un intero
    int somma = 0; // Inizializzi un intero a zero

    for(i=0; i < SIZE; i++)
    // Esegui un ciclo :
    // primo parametro -> condizione iniziale i=0
    // secondo parametro - > i < SIZE esegui questo ciclo
    // finchè i sara miniore di SIZE
    // Alla fine di ogni ciclo incrementa la variabile i
    {
    // Ad ogni ciclo aggiungi alla variabile somma (che
    // inizialmente avevamo posto a zero il valore i-esimo
    // presente nell'array. Ti ricordo che un array è un insieme
    // di valori, come se fosse un piccolo cassetto
    // numerato...tra parentesi quadre quella i indica prendi il // valore nel cassetto numero...
    somma = somma + array[i];
    }
    cout << " La somma degli elementi dell'array è " << somma << "\n";
    }

    main( )
    {
    int vettore[SIZE] = {1,2,3,4,5};
    // Questo array vettore avra dimensione pari a 5
    // Ti ricordo che la numerazione di un array va da 0 ad n-1
    // Quindi 1 occuperà la posizione zero dell'array ....e 5 la // posizione 4.
    somma(vettore);
    // Richiamo la funzione applicandola sull'array qui sopra
    // inizializzato di nome vettore
    return(0);
    }
    // Ricordiamoci che somma=0.
    // Ad esempio al primo ciclo
    // i=0,i è minore di SIZE(5) ? Si...esegui quanto scritto
    // nel ciclo
    // somma= 0 (valore di somma) + il valore dell'array alla posizione i ( in questo caso 0) cioè 1
    // somma = 0 + 1 = 1
    // Incrementa i (i++)..quindi i=1
    // i=1,i è minore di SIZE(5) ? Si...esegui un altra volta il // ciclo
    // somma= 1 (questa volta lo avevamo lasciato ad uno) + il valore dell'array alla posizione i (sta volta è 1) cioè 2
    // somma = 1 + 2 = 3
    // incrementa i (i++ )...quindi i=2
    //e cosi via finchè i non sarà uguale a 5...la condizione
    // del ciclo non è verificata quindi esce dal ciclo e somma // rimarrà ad un valore fisso..cioè quello mandato in output


    Spero di essere stato kiaro !

  2. #12
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    grazie lo guarderò con + calma domani e poi ti faccio sapere se c'è ancora qualcosa che nn va

  3. #13
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    ho provato un pò a fare qualcosa ed ho voluto fare sto prog:

    codice:
    #include <stdio.h>
    #include <iostream.h>
    #include <conio.h>
    #include <stdlib.h>
    
    float operazione(float x, float y);
    
    float a, b, c, d, ris, ris_2;
    
    int main(){
      cout<<"Inserire due numeri  ";
      cin>>a;
      cin>>b;
      ris=operazione(a,b);
      cout<<"\n\nIl risultato dell'operazione e' " <<ris;
      cout<<"\n\nInserire due numeri   ";
      cin>>c;
      cin>>d;
      ris_2=operazione(c,d);
      cout<<"\n\nIl risultato dell'operazione e' " <<ris_2;
      getch();
    }
    
    float operazione(float x,float y){
      float somma;
      float sott;
      float molt;
      float div;
      float somma_tot;
      somma=a+b;
      sott=a-b;
      molt=a*b;
      div=a/b;
      somma_tot=somma+sott+molt+div;
      return somma_tot;
    }
    ma metto i primi due numeri e mi fa correttamente l'operazione...poi ne metto altri due e come risultato mi da il risultato dell'operazione tra i primi due numeri...scommetto che l'errore logico sarà banale ma adesso prorpio nn riesco a capirlo....potete aiutarmi???

  4. #14
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    riguardandolo adesso ho capito.....nello scrivere la funzione io la scrivo con le variabili a e b....ma per rendere + generale la cosa e poter fare la stessa operazione con variabili diverse???

    come nn detto....risolto tutto da solo........scusate per i due messaggi di fila

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.