Bonjour,
Je n'arrive pas a additionner une array lue a partir d'un fichier. Voici le programme:
Le resultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 # include <stdio.h> # include <stdlib.h> # include <math.h> # define SQUARE(x) (x)*(x) int main ( void ) { double filearray1 [ 14 ], filearray2 [ 14 ]; int r = 0; FILE * fp; char fname [ ] = "rent2.dat"; if ( ( fp = fopen ( fname, "r" ) ) == NULL ) { printf ( "Unable to open %s.\n", fname ); exit ( 1 ); } printf("\tRent\tIncome\n"); printf("\t X\t Y\t\t XX\t\t YY\t\t XY\n"); while ( fscanf ( fp, "%lf%lf\n", & filearray1 [ r ], & filearray2 [ r ] ) != EOF ) { printf ( "\t%.1f\t%.1f\t\t%.2f\t%.2f\t%.2f\n", filearray1 [ r ], filearray2 [ r ], SQUARE(filearray1 [r]), SQUARE(filearray2[r]), filearray1[r] * filearray2[r]); } printf("\t-----\t-------\t ---------\t-------------\t-----------\n"); printf ( "\t%d", SumArray ( filearray1, r ) ); return 0; } SumArray ( double a [ ], int n ) { int c; int sum = 0; for ( c = 0; c < n; c ++ ) sum += a [ c ]; return 0; }
Je comprend pas pourquoi ca affiche un zero a la place de 6020? Je pense bien que la fonction est correcte? est ce que c'est probleme de data type?Rent Income
X Y XX YY XY
320.0 18000.0 102400.00 324000000.00 5760000.00
292.0 20000.0 85264.00 400000000.00 5840000.00
368.0 21600.0 135424.00 466560000.00 7948800.00
324.0 28400.0 104976.00 806560000.00 9201600.00
396.0 24800.0 156816.00 615040000.00 9820800.00
440.0 43600.0 193600.00 1900960000.00 19184000.00
568.0 48000.0 322624.00 2304000000.00 27264000.00
408.0 34800.0 166464.00 1211040000.00 14198400.00
500.0 34000.0 250000.00 1156000000.00 17000000.00
520.0 35600.0 270400.00 1267360000.00 18512000.00
360.0 30000.0 129600.00 900000000.00 10800000.00
572.0 56000.0 327184.00 3136000000.00 32032000.00
440.0 32000.0 193600.00 1024000000.00 14080000.00
512.0 53200.0 262144.00 2830240000.00 27238400.00
----- ------- --------- ------------- -----------
0>
Merci de votre aide.
Partager