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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#define KMIN 1 /* taille de la suite des éléments consécutif à trouver*/
#define KMAX 100
#define VMIN 0  /* valeur d'un élément de la liste */
#define VMAX 100000
#define NMAX 10000
 
/* nombre de valeurs à entrer dans le tableau */
int nb_de_valeur(void) {
    int N=0;
    while ( N<KMIN || N>NMAX) {
        scanf("%d",&N);
    }
 
	return N;
}
 
/* nombre d'entiers consécutifs à lire dans le tableau */
int nb_entier_consecutif(void) {
    int K=0;
    while ( K<KMIN || K>KMAX) {
        scanf("%d",&K);
    }
 
	return K;
}
 
/* remplissage du tableau */
void le_tableau(int N,int tab[]) {
	int i;
	int val;
 
	for (i=0;i<N;i++) {
	    val = -1;
        while ( val < VMIN || val > VMAX ) {
            scanf("%d",&val);
        }
        tab[i] = val;
	}
}
 
/* lecture du tableau et recherche de la plus grande somme de K éléments consécutifs */
void la_somme(int K,int N, int tab[]){
	int somme = 0;
	int valeur_max = 0;
	int i, j;
	for (i=0; i<K; i++){
		for (j=0; j<N; j++){
			somme += tab[j];
				if( somme >= valeur_max)
				valeur_max = somme;
		}
	}
	printf("%d\n", valeur_max);
}
 
 
/* fonction main */
int main(void){
	int N, K;
	int tab[NMAX];
	N = nb_de_valeur();
	K = nb_entier_consecutif();
	le_tableau(N,tab);
	la_somme(K, N, tab);
	return 0;
}
Je voudrais que le fonction la_somme additionne K elements du tableau qu'elle compare le resultat a une valeur max et affiche enfin la valeur max. mais je ne trouve pas la solution.
peut on m'aider.