Bonjour,
cela fait 3 jours que je me casse la tete avec mon programme mais je n'arrive a rien.
Donc le programme est censé additionner des chiffre binaire et en sortie nous obtenons du binaire.
Or je n'arrive pas a obtenir le binaire en sortie, je ne sais pas ce qu'il cloche peut être un truc au niveaux de tableau. J'ai tout essayé réecris le programme d'une autre façon mais rien n'y fait.
Voila mon code
Et l'éxécutionCode:void main() { int n = readInt("Entrez le nombre de chiffre de votre premier nombre binaire"); int[] binaire1 = new int[n]; println("Entrez les chiffres de votre nombre binaire, de droite à gauche"); for (int i =0; i < n; i ++) { binaire1[i] = readInt("Chiffre " + (i +1)); } int p = readInt("Entrez le nombre de chiffre de votre deuxième nombre binaire"); int[] binaire2 = new int[p]; println("Entrez les chiffres de votre nombre binaire, de droite a gauche"); for (int i =0; i < p; i ++) { binaire2[i] = readInt("Chiffre " + (i +1)); } int i = 0; int r = 0; if (n < p) { while (i < n) { if (binaire1[i] + binaire2[i] == 2); { binaire2[i] = r; r =1; } if (binaire1[i] + binaire2[i] == 3); { binaire2[i] = r + 1; r = 1; } i ++; } binaire2[n -1] = binaire2[n -1] + r; } //fin premier if if (n > p) { while (i < p) { if (binaire1[i] + binaire2[i] < 2); { binaire1[i] = binaire1[i] + binaire2[i] + r; r = 0; } if (binaire1[i] + binaire2[i] == 2); { binaire1[i] = r; r = 1; } if (binaire1[i] + binaire2[i] == 3); { binaire1[i] = r + 1; r = 1; } //ajout du i++ pour que la boucle while ne tourne pas à l'infini i ++; } binaire1[p - 1] = binaire1[p - 1] + r; // fin deuxieme if if (n == p) { while (i < p) { if (binaire1[i] + binaire2[i] < 2); { binaire1[i] = (binaire1[i] + binaire2[i]) + r; r = 0; } if (binaire1[i] + binaire2[i] == 2); { binaire1[i] = r; r = 1; } if (binaire1[i] + binaire2[i] == 3); { binaire1[i] = r + 1; r = 1; } i ++; } println("la somme est: "); if (n >= p) { for (int j = 0; j < n; j ++) { println(binaire1[j]); } } else { for (int j = 0; j < n; j ++) { println(binaire2[j]); } } }
Entrez les chiffres de votre nombre binaire, de droite à gauche
Entrez les chiffres de votre nombre binaire, de droite a gauche
la somme est:
2
2
2
2
J'espère que quelqu'un pourras me venir en aide car c'est ma seule note dans la matière du trimestre ( isn terminale S). Je me suis creusé la tête je ne trouve rien.
Merci d'avance pour votre aide
-----