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
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("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) ;
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
Le Fri, 26 Jun 2009 03:29:42 -0700, bpascal123@googlemail.com 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
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
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/
xylo scripsit:
Le Fri, 26 Jun 2009 03:29:42 -0700, bpascal123@googlemail.com 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/