Ciao a tutti. Devo fare un programma che ha in input un array di elementi e k, e stampa a video la sequenza di somma massima. Esempio:

Inserisci n
6

Inserisci k
3

Il vettore ha questi valori:

5 3 1 3 2 7

La sequenza k = 3 di somma massima è: 3 2 7


Io ho fatto questo programma, ma c'è un problema:

codice:
#include <stdio.h>
#include <stdlib.h>
#define MAX 50


void carica(int vett[MAX], int n);
void stampa( int vett[MAX], int n);
void sequenza(int vett[MAX], int n, int k);


int main(void) {


    int n, k, vett[MAX];


    printf("Inserisci numero elementi del vettore\n");
    scanf("%d", &n);
    printf("Inserisci k\n");
    scanf("%d", &k);


    carica( vett, n);
    stampa(vett, n);
    sequenza( vett, n, k);


}


void sequenza(int vett[MAX], int n, int k) {


    int i; int somma = 0; int max = 0; int c = 0; int p, q;


    while(c + k != n - 1) {
        for(i = 0 + c; i < k + c; i++) {
            somma = somma + vett[i];
        }


        if(somma > max) {
            max = somma;
            p = c;
            q = k + c;
        }


        somma = 0;
        c++;
    }


    printf("La sequenza di somma massima: \n\n");


    for(i = p; i < q; i++) {
        printf("%d ", vett[i]);
    }


    return;
}


void stampa(int vett[MAX], int n) {


    int i;


    printf("Gli elementi del vettore sono: \n\n");


    for(i = 0; i < n; i++) {
        printf("%d ", vett[i]);
    }
}


void carica(int vett[MAX], int n) {


    int i; int valore;


    for(i = 0; i < n; i++) {
        printf("Inserisci numero\n");
        scanf("%d", &valore);


        vett[i] = valore;
    }
}
Non so qual è l'errore. Qualcuno mi può aiutare ? Grazie.