Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] Programma che genera un array e ne stampa la somma degli elementi

    Ciao, sono nuovo del forum e vorrei chiedervi un aiuto, devo fare il programma descritto da titolo, in particolare devo implementare due funzioni, una che genera l'array e l'altra che fa la somma degli elementi dell'array. Ma non riesco a farlo funzionare, ecco il codice:

    codice:
    #include <stdio.h>
    
    int genera_array(int n){
        int i, a[n];
        for(i=0;i<n;i++){
           printf("a[%d] = ", i);
           scanf("%d", &a[i]);
        }
    }
    
    int somma_array(int a[], int n ) {
        int i, sum = 0;
        for( i = 0; i < n; i++ )
           sum += a[i];
        return sum;
    }
    
    int main( void ){
        int num, vett;
        printf("Generazione di un'array: ");
        scanf("%d", &num);
        vett = genera_array(num);
        somma_array( vett , num );
    }
    In particolare mi da questi due errori :

    "SommaArray.c:23:2: warning: passing argument 1 of ‘somma_array’ makes pointer from integer without a cast [enabled by default]
    somma_array( vett , num );
    ^
    SommaArray.c:11:5: note: expected ‘int *’ but argument is of type ‘int’
    int somma_array(int a[], int n) { "
    ^

    Qualcuno può aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    genera_array restituisce un int ? A parte il fatto che non c'è nessun return, cosa è questo intero che viene restituito?

    E somma_array( vett , num ); si attende un vettore come primo argomento non un intero ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    genera_array restituisce un int ? A parte il fatto che non c'è nessun return, cosa è questo intero che viene restituito?

    E somma_array( vett , num ); si attende un vettore come primo argomento non un intero ...
    In teoria genera_array dovrebbe restituire l'array che è appunto di tipo int; sicuramente mi sfugge qualcosa

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se restituisci un int questo è un numero.

    Semmai dovresti restituire un "puntatore ad int", dopo aver allocato dinamicamente l'array.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Se restituisci un int questo è un numero.

    Semmai dovresti restituire un "puntatore ad int", dopo aver allocato dinamicamente l'array.
    In questo esercizio non devo ancora fare uso dei puntatori.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E cosa dovrebbe fare la funzione

    genera_array

    ?

    Senza puntatore non puoi generare l'array ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.