Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Debutant et etourdi (con) - script tres simple ki plante pr une valeur qui porte de 2ème partie de tableau

1 réponse
Avatar
bpascal123
Bonjour,

Voici le script qui me fait tourner la t=EAte car ca fonctionne pour un
nombre qui fait partie de la premi=E8re partie du tableau mais pas de la
seconde ???

=3D=3D=3D

#include <stdio.h>

main()
{
int Tab[100] ;
int N ;

int VAL ;
int POS ;
int midPOS ;
int op ;
int i, j ;
int cnt =3D 1 ;
int permut1 ;

printf("\n\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n") ;

printf("Ce prg lit, affiche un tableau et y recherche une valeur et
sa position.") ;

printf("\n\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n") ;

printf("Entrez le nbr de valeurs : ") ;
scanf("%d", &N);

for ( i =3D 0 ; i < N ; i++ )
{
Tab[i] =3D op * 10 / 8 + 3 * 2 ;
op =3D Tab[i] ;
printf("%4d", Tab[i]) ;
}

printf("\n\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n") ;

for ( i =3D 0 ; i < N ; i++ )
{
if ( Tab[i] > Tab[i+1] )
{
permut1 =3D Tab[i] ;
Tab[i] =3D Tab[i+1] ;
Tab[i+1] =3D permut1 ;
}
}

printf("Tableau trie : \n") ;

for ( i =3D 0 ; i < N ; i++ )
printf("%4d", Tab[i]) ;

printf("\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n") ;

printf("Entrez une valeur a rechercher : \n\n") ;
scanf("%d", &VAL ) ;

printf("\n\n") ;

midPOS =3D N/2 ;

if ( VAL < Tab[midPOS] )
{
for ( i =3D 0, POS=3D0 ; i < midPOS ; i++ )
if ( Tab[i] =3D VAL )
POS =3D i ;
printf("(tri 1ere moitie) \t La valeur se trouve en position %d", POS
+1);
}

else if ( VAL >=3D Tab[midPOS] )
{
for ( i =3D midPOS ; i < N ; i++ )
{
if ( Tab[i] =3D VAL )
{
POS =3D i;
}
}
printf("(tri 2nde moitie) \t La valeur se trouve en position %d", POS
+1) ;
}

else
printf("No match!") ;

printf("\n\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n") ;

return 0 ;

}

1 réponse

Avatar
bpascal123
Et aussi, si le nbr ne fait pas partie des valeurs