Salut,

j ai ecris ce programme qu on donne une liste de N nombres entiers et un entier K. Le programme trouve la somme la plus grande d une suite K élements consécutifs.

exemple:

en entrée ...
6
3
12
42
33
8
22
54

en sortie ...
87

car on obtient 87 en additionnant 12, 42 et 33.
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
#include <stdio.h>
 
 
 
 
int main()
{
    int nombreElements;
    int valeurSuiteElements;
    scanf("%d%d", &nombreElements, &valeurSuiteElements);
    int valeurEntree;
    int max = 0;
    int TabValeursEntree[10000];
    int tabSomme[10000];
    int i;
    for (i = 0; i < nombreElements; i++)
    {
        scanf("%d", &valeurEntree);
        TabValeursEntree[i] = valeurEntree;
    }
    int j, k;
    for (j = 0; j < nombreElements-valeurSuiteElements+1; j++)
    {
        for (k = j; k < j+valeurSuiteElements; k++)
        {
            tabSomme[j] += TabValeursEntree[k];
        }
        if (tabSomme[j] > max)
            max = tabSomme[j];
    }
    printf("%d", max);
    return 0;
}
Pouvez vous m aider a calculer la complexitée de mon algo.
Ce que sais qu une affection simple coute un temps constant c.
mais j arrives pas a calculer la complexitée de mes boucles surtout les 2 boucles imbriquées.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 for (j = 0; j < nombreElements-valeurSuiteElements+1; j++)
    {
        for (k = j; k < j+valeurSuiteElements; k++)
        {
            tabSomme[j] += TabValeursEntree[k];
        }
        if (tabSomme[j] > max)
            max = tabSomme[j];
    }
Et donner moi votre avis sur mon algo svp.
Merci!