Afficher sous tableau de plus grande taille
pcforever01
Messages postés
59
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'essaie de créer un algo qui permet de d'afficher le numéro du plus grand sous tableau;
pour le moment je sais juste afficher la taille des tableaux mais comment comparer leurs tailles ...
class Tabup
{
public static void main(String[] args)
{
int[][] tab = {{1, 2, 3, 4, 5, 6, 7, 8}, {1, 2, 3, 4}, {1, 2, 3 ,4, 5, 6, 7, 8,9}};
int k = 0;
for (int i = 0; i < tab.length; i++)
{
for (int j = 0; j < tab[i].length; j++)
{ k = tab[i].length;
i++;
System.out.println(k);
}
}
}
}
j'essaie de créer un algo qui permet de d'afficher le numéro du plus grand sous tableau;
pour le moment je sais juste afficher la taille des tableaux mais comment comparer leurs tailles ...
class Tabup
{
public static void main(String[] args)
{
int[][] tab = {{1, 2, 3, 4, 5, 6, 7, 8}, {1, 2, 3, 4}, {1, 2, 3 ,4, 5, 6, 7, 8,9}};
int k = 0;
for (int i = 0; i < tab.length; i++)
{
for (int j = 0; j < tab[i].length; j++)
{ k = tab[i].length;
i++;
System.out.println(k);
}
}
}
}
A voir également:
- Afficher sous tableau de plus grande taille
- Tableau word - Guide
- Comment réduire la taille d'un fichier - Guide
- Afficher taille dossier windows - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
1 réponse
C'est un problème classique de recherche de maximum dans un tableau.
Par contre tu es très mal parti, car ton affichage de la taille des sous-tableaux va te renvoyer un ArrayIndexOutOfBoundsException. Cela vient de ta double boucle for, et en particulier du i++ qui se promène en plein milieu du code.
Normalement il ne faudrait qu'une seule boucle pour afficher la taille des sous-tableaux :
Maintenant pour récupérer le maximum, il te suffit de prendre une variable imax qui sera ton résultat, c'est àdire l'indice du tableau qui a la plus grande taille (tab[imax] est maximal).
À chaque tour de boucle il faudra que tu compares tab[k] avec tab[imax] (qui est le maximum des k premiers tableaux) pour éventuellement faire imax=k.
Par contre tu es très mal parti, car ton affichage de la taille des sous-tableaux va te renvoyer un ArrayIndexOutOfBoundsException. Cela vient de ta double boucle for, et en particulier du i++ qui se promène en plein milieu du code.
Normalement il ne faudrait qu'une seule boucle pour afficher la taille des sous-tableaux :
for (int i=0; i<tab.length; i++)
{
int k = tab[i].length;
System.out.println(k);
}
Maintenant pour récupérer le maximum, il te suffit de prendre une variable imax qui sera ton résultat, c'est àdire l'indice du tableau qui a la plus grande taille (tab[imax] est maximal).
À chaque tour de boucle il faudra que tu compares tab[k] avec tab[imax] (qui est le maximum des k premiers tableaux) pour éventuellement faire imax=k.