Comparaison d'entiers dans un tableau dynamique
Résolu/Fermé
prudya
Messages postés
6
Date d'inscription
samedi 6 mai 2017
Statut
Membre
Dernière intervention
8 octobre 2018
-
6 mai 2017 à 14:48
pudya - 10 mai 2017 à 18:49
pudya - 10 mai 2017 à 18:49
A voir également:
- Comparaison d'entiers dans un tableau dynamique
- Tableau croisé dynamique - Guide
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Tableau croisé dynamique différence entre deux colonnes ✓ - Forum Excel
- Afficher un tableau en c - Forum C
- Tableau ascii - Guide
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
6 mai 2017 à 18:10
6 mai 2017 à 18:10
Bonjour,
"comparer des entiers d'un tableau dynamique tel sorte que le minimum de leur somme soit supérieur à une constante"
Ça ne veut pas dire grand chose... Une comparaison ça permet de savoir entre deux valeurs laquelle est inférieure/égale/supérieure à l'autre. Mais ça ne va pas calculer une somme. Et c'est quoi le minimum d'une somme ?
Bref, tu n'aurais pas un exemple pour illustrer ce que tu veux faire ?
De plus tu parles de "tableau dynamique" à quoi ça correspond dans ton code ?
"comparer des entiers d'un tableau dynamique tel sorte que le minimum de leur somme soit supérieur à une constante"
Ça ne veut pas dire grand chose... Une comparaison ça permet de savoir entre deux valeurs laquelle est inférieure/égale/supérieure à l'autre. Mais ça ne va pas calculer une somme. Et c'est quoi le minimum d'une somme ?
Bref, tu n'aurais pas un exemple pour illustrer ce que tu veux faire ?
De plus tu parles de "tableau dynamique" à quoi ça correspond dans ton code ?
Modifié le 7 mai 2017 à 17:59
import java.util.ArrayList; import java.util.Collections; public class demande { /** * @param args */ public static void main(String[] args){ ArrayList<Integer> coll = new ArrayList<Integer>(); coll.add(0,1); coll.add(1,2); coll.add(2,2); coll.add(3,3); coll.add(4,4); coll.add(5,2); coll.add(6,1); /*Object obj = Collections.min(coll); System.out.println(obj);*/ Collections.sort(coll); System.out.println(coll); /*coll.remove(10); System.out.println(coll);*/ //calcul du total int a =7; int som=0; for(int i=0; i<coll.size();i++) { som=som+coll.get(i); if(som>a){ Object Som = Collections.min(coll); System.out.println(som); } } } }le résultat donne:
alors que je veux obtenir 8. en outre, si je change la valeur de a, je peux avoir un autre résultat.
merci. je ne suis qu'un débutant
7 mai 2017 à 18:08
Avec quelques améliorations au passage, ça donne ceci :
import java.util.*; public class Demande { public static void main(String[] args) { List<Integer> coll = Arrays.asList(1, 2, 2, 3, 4, 2, 1); Collections.sort(coll); System.out.println(coll); int a = 10; int som = 0; for (Integer n : coll) { som += n; if (som > a) break; } System.out.println(som); } }7 mai 2017 à 18:51
7 mai 2017 à 22:30
merci.
7 mai 2017 à 22:48
List<Integer> result = new ArrayList<>(); int som = 0; for (Integer n : coll) { som += n; if (som > a) break; result.add(n); } System.out.println(som); // 11 System.out.println(result); // [1, 1, 2, 2, 2]