Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Errore in codice C++ per somma elementi vettore
Forum - C/C++ - Errore in codice C++ per somma elementi vettore

Avatar
MATTIZ2001 (Normal User)
Newbie


Messaggi: 3
Iscritto: 17/06/2018

Segnala al moderatore
Postato alle 11:20
Giovedì, 21/06/2018
Testo quotato

DESCRIZIONE:SCRIVERE UNA FUNZIONE CHE PRENDE IN INPUT UN VETTORE DI INTERI E NE RITORNA LA SOMMA SOLO DEI VALORI CHE SONO DISPARI



come errore dev mi dice:"invalid conversion from int to int*", non capisco l'errore!

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. using namespace std;
  3. int funzione_sommadis(int vettore[]){
  4. int somma=0;
  5.  
  6. for(int k=0;k<20;k++){
  7.  
  8.     if(!(vettore[k]%2==0)){
  9.  
  10.         somma=somma+vettore[k];
  11.  
  12.  
  13.  
  14.     }}
  15.     cout<<"La somma dei valori dispari e': "<<somma<<endl;
  16.     return somma;
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. }
  27. int main(){
  28. int somma;
  29.  
  30. somma=funzione_sommadis(4);
  31.  
  32.  
  33.  
  34.  
  35. }


Ultima modifica effettuata da lumo il 21/06/2018 alle 23:02
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 11:39
Giovedì, 21/06/2018
Immagino che il post di nessuno nell'altro thread tu non l'abbia nemmeno guardato
Testo quotato

Postato originariamente da nessuno:
[...]
2) I titoli devono essere coerenti con il problema, non frasi generiche come quelle che hai usato

3) Il MAIUSCOLO non si usa, significa GRIDARE e non è educato
[...]


Sei giovane, queste cose me le aspetterei da un settantenne che non ha un minimo di comprensione del mezzo che sta usando, tu non hai scuse, fai piu attenzione in futuro.

Per quanto riguarda il problema
Codice sorgente - presumibilmente Plain Text

  1. somma=funzione_sommadis(4);


stai passando alla funzione un singolo intero e non un vettore di interi come da te definito nel "prototipo" della funzione
Codice sorgente - presumibilmente C/C++

  1. int funzione_sommadis(int vettore[]){


da qui l'errore di conversione.
In futuro fai riferimento alla riga in cui è presente l'errore che ti riporta il compilatore, in tal modo identifichi immediatamente la posizione dell'errore.

PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 12:22
Giovedì, 21/06/2018
Non scrivere frasi in maiuscolo!!
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int funzione_sommadis(int vettore[])
  5. {
  6.         int somma=0;
  7.  
  8.         for(int k=0;k<20;k++)
  9.         {
  10.  
  11.                 if(!(vettore[k]%2==0))
  12.                 {
  13.                         somma=somma+vettore[k];
  14.                 }
  15.         }
  16.         return somma;
  17. }
  18.  
  19. int main()
  20. {
  21.         int somma;
  22.         int vettoreinput[] = {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0};
  23.  
  24.         somma=funzione_sommadis(vettoreinput);
  25.         cout<<"La somma dei valori dispari e': "<<somma<<endl;
  26. }



Non ho il C installato non ho potuto verificare eventuali errori di sintassi.
Nel prossimo codice inserisci il controllo della lunghezza del vettore in modo da non eseguire un ciclo arbitrario fino a 20

Ultima modifica effettuata da Carlo il 21/06/2018 alle 13:18


in programmazione tutto è permesso
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:31
Giovedì, 21/06/2018
Ma perché continui a violare il regolamento pur essendo stato avvisato?

Non capisco come mai non ti bannino.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 23:00
Giovedì, 21/06/2018
MATTIZ2001, per favore leggi bene il regolamento del forum e della sezione C/C++ prima di postare ancora
http://www.pierotofy.it/pages/extras/forum/2/78115-leggere ...

Evita i titoli e le scritte in maiuscolo, non attiri la nostra attenzione, anzi ci passa la voglia di leggere e di aiutarti.

L'errore è molto banale e ti è già stato spiegato molto bene da Carlo e Roby.

Ricorda che in questo forum non c'è nessuno che sia obbligato ad aiutarti, quindi usa per lo meno gentilezza, noi siamo felici di aiutare se vediamo che sei interessato e hai provato più e più volte. Fammelo dire, dalla natura dell'errore si capisce che non hai provato molto, o se l'hai fatto lo hai fatto assolutamente nel modo sbagliato. Devi consolidare meglio la teoria, fare molti errori e scrivere molti programmi che non vanno prima di riuscire, non viene mai tutto al primo colpo in programmazione.

Ho modificato il tuo post perché sia un po'  più leggibile e ho messo un titolo decente.

Ultima modifica effettuata da lumo il 21/06/2018 alle 23:03
PM Quote