Funzione con Array

di Anonimizzato14884 il
4 risposte
Salve gente ho un esercizio che mi chide di creare una funzione chiamata ARRYMOLTI che mi consente di moltiplicare tutti gli elementi della matrice dando come valore di ritorno un numero intero che dovrò far visualizzare. invece la funzione Main deve aprire il file ( il nome del file è dato dai parametri in input ) dove c'è la matrice da leggere (3x7) e mandare tutti i dati alla funzione ARRYMOLTI, ho provato a farlo, non so se è giusto :

#include <stdio.h>
#include >stdlib.h>

int MOLTARR (int **ARR, int m, int, n) {
int i,j,a;
for (i=0; i<m; i++){
for (j=0; j<n; j++){
a= a * ARR [j] ;
}
}
return (a);
}

int main (int argn, char *argv []) {
char ARR[3] [7];
FILE *ati;
int a=3, b=7, i,j,c;
ati=fopen (argv[0 ], "r");
for (i=0; i<m; i++){
for (j=0; j<n; j++){
fscanf(ati, "%d", &ARR [j]);
}
}
c= MOLTARR (ARR,a,b);
printf (" il valore : %d", c);
fclose (ati);
return 0;
}

4 Risposte

  • A parte che la funzione non si chiama come hai detto, ci sono alcuni errori

    1) nel main non esistono m e n ma esistono a e b

    2) nella funzione la variabile a va inizializzata (a=1) prima di iniziare le moltiplicazioni
  • Scusate errori di distrazione, cmq perchè la variabile "a" deve essere inizializzata?
    per il resto va bene il programma?
  • Deve essere 1 perché viene usata subito nella moltiplicazione

    a= a * ARR [j] ;

    Se poi il resto va bene non posso dirtelo per certo ... compilalo ed eseguilo, controlla i risultati e facci sapere
  • OK grazie !!
Devi accedere o registrarti per scrivere nel forum
4 risposte