Pagina 1 di 1

[c++]Problemi con le funzioni e parametri

MessaggioInviato: sab nov 21, 2009 7:23 pm
da manu187
Codice: Seleziona tutto
#include <cstdlib>
#include <iostream>

using namespace std;


int potenze(int v[50],int k,int amp,int n,int temp)
{
 
 cout<<"\n Quanti numeri vuoi utilizzare(MAX=50)";
 cin>>amp;
 cout<<"\n Con quale esponente?";
 cin>>k;
 for(int i=0;i<amp;i++)
 {
  cout<<"\n scrivi il"<<i+1<<"° numero";
  cin>>v[i];
 }
 for(int i=0;i<amp;i++)
 {
  for(int j=0;j<k;j++)
  {
   v[i]=temp*v[i];
   temp=v[i];
  }               
 }
 return amp;
}

int somma(int v[50],int & amp,int tot)
{
 for(int i=0;i<amp;i++)
 {
  tot=tot+v[i];
  return tot;
 }
}
int main()
{
 int k,tot,v[50],amp,n;
 int temp=1;
 potenze(v[50],k,amp,n,temp);
 somma(v[50],amp,tot);
 cout<<"\n le potenze dei numeri sono:";
 for(i=0;i<amp;i++)
 {
  cout<<v[i];
 }
 cout<<"\n e la loro somma:"<<tot;
   
    system("PAUSE");
    return EXIT_SUCCESS;

}


Io uso dev-c++ e lo odio!!

Re: [c++]Problemi con le funzioni e parametri

MessaggioInviato: sab nov 21, 2009 8:14 pm
da M@ttia
Uhm, ti consiglio di abituarti subito ad indentare il codice, perché così è difficile capire dove inizia/finisce qualcosa...
Comunque di errori "di compilazione" ci sono:

Codice: Seleziona tutto
potenze(v[50],k,amp,n,temp);
somma(v[50],amp,tot);

La funzione va chiamata con v e non v[50] (v[50] è il 50° elemento di v, mentre v è l'intero vettore.

Codice: Seleziona tutto
for(i=0;i<amp;i++)

dichiarare i: int i=0; ...


Concettualmente poi ci sono molte cose (ad es. potenze e somma ritornano un tipo INT, ma come vengono chiamate nel main il loro risultato non viene salvato da nessuna parte; amp viene assegnato nella prima funzione ma poi lì muore (e nella seconda viene addirittura chiamato by reference con &, anche se non ha nessun valore in quel momento, ecc.).

Re: [c++]Problemi con le funzioni e parametri

MessaggioInviato: sab nov 21, 2009 8:28 pm
da manu187
si scusa sono un po' arruginito erano 3 anni che non riprendevo in mano il c++,ora provo!!

Re: [c++]Problemi con le funzioni e parametri

MessaggioInviato: sab nov 21, 2009 9:02 pm
da manu187
cioè il return non serve a restituire il valore??io ritorno amp perché mi serve in somma!

Re: [c++]Problemi con le funzioni e parametri

MessaggioInviato: sab nov 21, 2009 10:28 pm
da M@ttia
manu187 ha scritto:cioè il return non serve a restituire il valore??io ritorno amp perché mi serve in somma!

Allora potenza non deve prendere amp come argomento, ma definirlo al suo interno e ritornarlo (anche con un altro nome), e nel main poi fai:

amp = potenza(...);