Trie Dichotomique output erreur
Résolu
domxaline
-
domxaline -
domxaline -
Bonjour,
j'écris ce programme de trie Dichotomique,
pendant l’exécution de celle ci, j'ai une erreur output
il s'affiche que "élément non trouvé"
même élément se trouve dans cette tableau, veuillez m'aidez svp
voilà mon programme:
j'écris ce programme de trie Dichotomique,
pendant l’exécution de celle ci, j'ai une erreur output
il s'affiche que "élément non trouvé"
même élément se trouve dans cette tableau, veuillez m'aidez svp
voilà mon programme:
import java.util.Scanner; public class RechDicoTab1 { public static void main(String[] args) { int[]tab={4,5,6,7,8,9,10,11}; System.out.println("Entrez élément à trouver"); Scanner sc=new Scanner(System.in); int result=Test(sc.nextInt()); if(result!=-1) { System.out.println("élément trouvé"+result); } else { System.out.println("élément non trouvé"); } } public static int Test(int result1) { int[]tab={4,5,6,7,8,9,10,11}; int a=1; int b=tab.length; int p=0; int i=0; boolean result=false; boolean recherche=false; int position =-1; do { p=((a+b)/2); if(result1==tab[p]) { result=true; //System.out.println("élément trouvé"); position=i; } else { if(result1>tab[p]) { a=p+1; } else { if(result1<tab[p]) { b=p-1; } } } }while(result==true || (a>b)); return position; } }
A voir également:
- Trie Dichotomique output erreur
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
5 réponses
Bonjour,
C'est compliqué tout ça...
Je m'étonnes toujours de te voir à ce même niveau depuis maintenant 7 ans que tu viens régulièrement poster des questions Java sur ce forum !
C'est compliqué tout ça...
Je m'étonnes toujours de te voir à ce même niveau depuis maintenant 7 ans que tu viens régulièrement poster des questions Java sur ce forum !
private static int binarySearch(int[] array, int fromIndex, int toIndex, int key) { int low = fromIndex; int high = toIndex - 1; while (low <= high) { int mid = (low + high) / 2; int midVal = array[mid]; if (midVal < key) low = mid + 1; else if (midVal > key) high = mid - 1; else return mid; } return -1; } private static int binarySearch(int[] array, int key) { return binarySearch(array, 0, array.length, key); } public static void main(String[] args) { int[] tab = { 1, 3, 5, 7, 9 }; System.out.println(binarySearch(tab, 0)); // -1: before the first System.out.println(binarySearch(tab, 1)); // 0: the first System.out.println(binarySearch(tab, 4)); // -1: not in middle System.out.println(binarySearch(tab, 5)); // 2: in middle System.out.println(binarySearch(tab, 9)); // 4: the last System.out.println(binarySearch(tab,10)); // -1: after the last }
merci pour votre aide
"Je m'étonnes toujours de te voir à ce même niveau depuis maintenant 7 ans que tu viens régulièrement poster des questions Java sur ce forum ! "
oui je suis depuis 7 ans
j'ai aucune formation dans la programmation, ni je ne travail pas de dans,
je travail dans la sécurité,
je l'ai essaie que, quand j'ai un moment.
je prend le cours dans l'internet,et aidé par la forum
excusez moi pour ce lenteur
"Je m'étonnes toujours de te voir à ce même niveau depuis maintenant 7 ans que tu viens régulièrement poster des questions Java sur ce forum ! "
oui je suis depuis 7 ans
j'ai aucune formation dans la programmation, ni je ne travail pas de dans,
je travail dans la sécurité,
je l'ai essaie que, quand j'ai un moment.
je prend le cours dans l'internet,et aidé par la forum
excusez moi pour ce lenteur
voilà j'ai corrigé mon programme, maintenant il marche
import java.util.Scanner; public class RechDicoTab1 { public static void main(String[] args) { int[]tab={4,5,6,7,8,9,10,11}; System.out.println("Entrez élément à trouver"); Scanner sc=new Scanner(System.in); int x=sc.nextInt(); recherche(tab,x); int position=recherche(tab,x); if(position>0) { System.out.println("L'élément "+x+" est trouvé en position "+position); } else { System.out.println("L'élément "+x+" n'est pas trouvé"); } } private static int recherche(int[] tab, int elt) { int n=tab.length-1; int a=1; int b=n; int p=0; int position=-1; do { p=((a+b)/2); if(elt==tab[p]) { position=p; } else if(tab[p]<elt) { a=p+1; } else { b=p-1; } }while(elt!=tab[p] && (a<=b)); return position; } }
j'ai une question à vous poser
dans mon output,quand je demande chercher 0 élément, veut dire dans le tableau tab[0]4
dans l'output il me retourne
Entrez élément à trouver:
4
L'élément 4 n'est pas trouvé
pourtant 4 se trouve dans cette tableau, quelqu'un peut m'aider s'il vous plait
dans mon output,quand je demande chercher 0 élément, veut dire dans le tableau tab[0]4
dans l'output il me retourne
Entrez élément à trouver:
4
L'élément 4 n'est pas trouvé
pourtant 4 se trouve dans cette tableau, quelqu'un peut m'aider s'il vous plait
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question