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

Débutant et étourdi ; ca ne fait pas bon ménage mais avec un peu d'aide et de persévérance...

2 réponses
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 ??? Ni pour un nbr qui ne fait pas partie des valeurs...

=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("Pas de valeurs!") ;

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 ;

2 réponses

Avatar
xylo
Le Fri, 26 Jun 2009 03:29:42 -0700, a écrit:

Bonjour,

Voici le script qui me fait tourner la tête car ca fonctionne pour un
nombre qui fait partie de la première partie du tableau mais pas de la
seconde ??? Ni pour un nbr qui ne fait pas partie des valeurs...

== >
#include <stdio.h>

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

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

printf("nn==============================nn") ;

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

printf("nn===============nn") ;

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

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

printf("nn===============nn") ;

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

printf("Tableau trie : n") ;

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

printf("n===============nn") ;

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

printf("nn") ;

midPOS = N/2 ;

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

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

else
printf("Pas de valeurs!") ;

printf("nn==============================nn") ;

return 0 ;



Tu comptes le poster combien de fois ton source ?
Genre polueur de news...
Sinon qsort marche très bien:
http://www.siteduzero.com/tutoriel-3-36691-le-tri-rapide-qsort.html

--
Apply rot13 to this e-mail address before using it.
JM Marino
http://jm.marino.free.fr
Avatar
Manuel Pégourié-Gonnard
xylo scripsit:

Le Fri, 26 Jun 2009 03:29:42 -0700, a écrit:

[citation intégrale bien longue et inutile]



Tu comptes le poster combien de fois ton source ?



En même temps, je crois que plusieurs personnes lui ont déjà fait
remarquer, c'est pas forcément utile d'en rajouter une couche.

Genre polueur de news...



Citer intégralement, surtout quand ça sert à rien, c'est pas très écolo
non plus :-)

--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/