Tri par insertion - assez urgent
Fermé
davy2006
-
14 janv. 2014 à 15:42
Froulik Messages postés 3779 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 15 avril 2014 - 14 janv. 2014 à 18:50
Froulik Messages postés 3779 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 15 avril 2014 - 14 janv. 2014 à 18:50
A voir également:
- Tri par insertion - assez urgent
- Excel trier par ordre croissant chiffre - Guide
- Insertion liste déroulante excel - Guide
- Insertion sommaire word - Guide
- Insertion signature word - Guide
- Insertion filigrane word - Guide
7 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
14 janv. 2014 à 15:48
14 janv. 2014 à 15:48
Bonjour,
Regarde >> ici << et tu comprendras mieux !!!
Regarde >> ici << et tu comprendras mieux !!!
Désolé, j'ai oublié de préciser ce qui allait à la place des étoiles.
Voici mon algo en java.
import java.util.*;
public class testttest {
public static void main(String[] args) {
Scanner lectureclavier=new Scanner(System.in);
int taille, i, j, val;
System.out.println("Entrez la taille du tableau");
do{
taille=lectureclavier.nextInt();
}while(taille<1);
int tab [];
tab = new int [taille];
System.out.println("Entrez une valeur");
tab[0]=lectureclavier.nextInt();
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
if(val >= tab[0]){
tab[1]=val;
}else
{
tab[1]=tab[0];
tab[0]=val;
}
for(i=2;i<taille;i++)
{
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
tri_insertion(tab,i,taille,val);
}
for(j=0;j<taille;j++)
{
System.out.print(" "+tab[j]);
}
}
public static void tri_insertion(int tab2 [], int h,int taille2,int val2){
int j;
j=h;
while((j>0) && tab2[j]>val2){
tab2[h+1]=tab2[j];
j--;
}
tab2[j+1]=val2;
}
}
merci à ceux qui voudront bien m'aider
Davy
Voici mon algo en java.
import java.util.*;
public class testttest {
public static void main(String[] args) {
Scanner lectureclavier=new Scanner(System.in);
int taille, i, j, val;
System.out.println("Entrez la taille du tableau");
do{
taille=lectureclavier.nextInt();
}while(taille<1);
int tab [];
tab = new int [taille];
System.out.println("Entrez une valeur");
tab[0]=lectureclavier.nextInt();
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
if(val >= tab[0]){
tab[1]=val;
}else
{
tab[1]=tab[0];
tab[0]=val;
}
for(i=2;i<taille;i++)
{
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
tri_insertion(tab,i,taille,val);
}
for(j=0;j<taille;j++)
{
System.out.print(" "+tab[j]);
}
}
public static void tri_insertion(int tab2 [], int h,int taille2,int val2){
int j;
j=h;
while((j>0) && tab2[j]>val2){
tab2[h+1]=tab2[j];
j--;
}
tab2[j+1]=val2;
}
}
merci à ceux qui voudront bien m'aider
Davy
Froulik
Messages postés
3779
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
15 avril 2014
943
14 janv. 2014 à 18:18
14 janv. 2014 à 18:18
Désolé mais CCM ne peut pas répondre favorablement à ta demande.
Regarde ici :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
Polux31 te l'a déjà dit, pourtant !
Regarde ici :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
Polux31 te l'a déjà dit, pourtant !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Froulik
Messages postés
3779
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
15 avril 2014
943
14 janv. 2014 à 18:27
14 janv. 2014 à 18:27
eh bin... tu attends que quelqu'un passe par ici et veuille bien te donner un coup de main.
bonne chance :o)
bonne chance :o)
merci quand même, je crois avoir trouvé la solution (en regardant mieux l'algo)
il faut mettre ceci dans la procédure
int i=k;
while((i>=0) && (tab2[i]>val2)){
tab2[i+1]=tab2[i];
i--;
}
tab2[i+1]=val2;
j'ai eu du mal à décortiquer le "bazar", lol, j'ai pas tout-à-fait appris la même chose.
Normalement ça fonctionne, je poste le code complet pour celui que ça intéresse ou si vous trouvez une erreur. j'espère que c'est pas interdit par le forum, si quelqu'un veut corriger, je ne demande pas mieux
import java.util.*;
public class testttest {
public static void main(String[] args) {
Scanner lectureclavier=new Scanner(System.in);
int taille, i, j, val;
System.out.println("Entrez la taille du tableau");
do{
taille=lectureclavier.nextInt();
}while(taille<1);
int tab [];
tab = new int [taille];
System.out.println("Entrez une valeur");
tab[0]=lectureclavier.nextInt();
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
if(val >= tab[0]){
tab[1]=val;
}else
{
tab[1]=tab[0];
tab[0]=val;
}
for(i=2;i<taille;i++)
{
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
tri_insertion(tab,i-1,taille,val);
}
for(j=0;j<taille;j++)
{
System.out.print(" "+tab[j]);
}
}
public static void tri_insertion(int tab2 [], int k,int taille2,int val2){
int i=k;
while((i>=0) && (tab2[i]>val2)){
tab2[i+1]=tab2[i];
i--;
}
tab2[i+1]=val2;
}
}
il faut mettre ceci dans la procédure
int i=k;
while((i>=0) && (tab2[i]>val2)){
tab2[i+1]=tab2[i];
i--;
}
tab2[i+1]=val2;
j'ai eu du mal à décortiquer le "bazar", lol, j'ai pas tout-à-fait appris la même chose.
Normalement ça fonctionne, je poste le code complet pour celui que ça intéresse ou si vous trouvez une erreur. j'espère que c'est pas interdit par le forum, si quelqu'un veut corriger, je ne demande pas mieux
import java.util.*;
public class testttest {
public static void main(String[] args) {
Scanner lectureclavier=new Scanner(System.in);
int taille, i, j, val;
System.out.println("Entrez la taille du tableau");
do{
taille=lectureclavier.nextInt();
}while(taille<1);
int tab [];
tab = new int [taille];
System.out.println("Entrez une valeur");
tab[0]=lectureclavier.nextInt();
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
if(val >= tab[0]){
tab[1]=val;
}else
{
tab[1]=tab[0];
tab[0]=val;
}
for(i=2;i<taille;i++)
{
System.out.println("Entrez une valeur");
val=lectureclavier.nextInt();
tri_insertion(tab,i-1,taille,val);
}
for(j=0;j<taille;j++)
{
System.out.print(" "+tab[j]);
}
}
public static void tri_insertion(int tab2 [], int k,int taille2,int val2){
int i=k;
while((i>=0) && (tab2[i]>val2)){
tab2[i+1]=tab2[i];
i--;
}
tab2[i+1]=val2;
}
}
Froulik
Messages postés
3779
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
15 avril 2014
943
14 janv. 2014 à 18:50
14 janv. 2014 à 18:50
Merci de ton partage
ça peut être utile à un internaute. Qui sait ?
Bonne soirée :o)
ça peut être utile à un internaute. Qui sait ?
Bonne soirée :o)