|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2009
Messaggi: 33
|
[c]Array 2D: errore nella chiamata alla function somma
#include <stdio.h>
#include <stdlib.h> #define RIG 2 #define COL 3 int riempi_array2D (int a[][100], int, int); int main(int argc, char *argv[]) { int array2D [RIG][COL]= {1, 2, 3, 1, 2, 3 }; int somma; somma = riempi_array2D (array2D[], RIG, COL); printf ("somma %d", somma); system("PAUSE"); return 0; } int riempi_array2D (int a[][100], int righe, int colonne){ int i, j, somma = 0; for (i=0; i<righe; i++) { for (j=0; j<colonne; j++){ somma = somma + aray[i][j] } } return somma; } non ho capito molto bn come si chiama e come si dichiara, chi ha pazienza di spiegarmi qst piccolo dettaglio?
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
nella funzione riempi_array2D il nome del parametro prima è a
mentre successivamente lo chiami aray oltre che cosi "a occhio" mi sembra che i parametri li passi in modo errato ... |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: May 2009
Messaggi: 33
|
hai ragione su quell'errore.
Mentre che il passaggio dei paramenti non ho capito bene come avviene... Ho provato in quest'altro modo ma mi fa la somma degli indirizzi in memoria e non dei valori: Quote:
Ultima modifica di mariano89 : 26-02-2010 alle 21:32. Motivo: errore nella scrittura |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non ci vogliono le quadre nella chiamata alla funzione.
|
|
|
|
|
|
#5 | ||
|
Member
Iscritto dal: May 2009
Messaggi: 33
|
è vero, e così grazie. Però facendo una stampa di tutte le operazioni che fa ho notato che il ciclo for non funziona, ovvero la j itera ma non la i.
ho sbagliato a scrivere qualcosa?
|
||
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2007
Messaggi: 316
|
int riempi_array2D (int a[][100], int, int);
perche dimensione 100? Codice:
#include <stdio.h>
#include <stdlib.h>
#define RIG 2
#define COL 3
int riempi_array2D (int a[RIG][COL], int, int);
int main(int argc, char *argv[])
{
int array2D [RIG][COL]= {1, 2, 3, 1, 2, 3 };
int som;
som = riempi_array2D (array2D, RIG, COL);
printf ("somma %d", som);
system("PAUSE");
return 0;
}
int riempi_array2D (int a[RIG][COL], int righe, int colonne){
int i, j, somma = 0;
for (i=0; i<righe; i++)
{
for (j=0; j<colonne; j++)
{
printf ("%d + %d", somma, a[i][j]);
somma = somma + a[i][j];
}
}
return somma;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:40.



















