Bonjour,

Je souhaite écrite un programme qui à partir d’un tableau d’entiers d’au moins un entier, fournit le nombre de sous-séquences croissantes de ce tableau, ainsi que les indices de début et de fin de la plus grande sous-séquence.
J'ai eu des warnings de compilation dans 3 lignes (warning: assignment makes pointer from integer without a cast [-Wint-conversion]) et le résultat est incorrect, ça me donne toujours 0.
Aidez-moi SVP! je vous remercie.
Voilà mon code:

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
#include <stdio.h>
 
void soussequences (int* t, int n, int* nbseqcrois, int* inddebpgs, int* indfinpgs)
{
    int i, tailleseq, indseq, taillepgs;
    tailleseq = 1;
    taillepgs = 0;
    nbseqcrois = 1;
    for(i=0; i<n-1; i++)
    {
        if(t[i]<=t[i+1])
        tailleseq++;
        else
        {
            nbseqcrois++;
            if(taillepgs<tailleseq)
            {
                inddebpgs = i - tailleseq + 1;
                taillepgs=tailleseq;
            }
        }
        tailleseq=1;
    }
    if(taillepgs<tailleseq)
    {
        inddebpgs= i - tailleseq + 1;
        taillepgs = tailleseq;
    }
    indfinpgs = inddebpgs + taillepgs - 1;
}
 
void remplir(int* t , int n) 
{ 
    int i=0; 
    for(i=0;i<n;i++) 
    { 
        printf("donner la case numero %d :", i+1); 
        scanf("%d",t+i); 
    } 
} 
 
void positif(int* n) 
{ 
    do 
    { 
        printf("donner le nbre d'element du tableau :"); 
        scanf("%d",n); 
    }
    while(*n<=0); 
} 
 
int main ()
{
int n=0; 
int t[20]; 
positif(&n); 
remplir(t,n); 
int nbseqcrois=0, inddebpgs=0, indfinpgs=0;
soussequences(t, n, &nbseqcrois, &inddebpgs, &indfinpgs);
printf("Nombre sequences croissantes: %d\n", nbseqcrois);
printf("Indice de début de la plus grande sequence croissante: %d\n", inddebpgs);
printf("Indice de fin de la plus grande sequence croissante: %d\n", indfinpgs);
}