Bonjour

SVP j'ai besoin de votre aide
en fait j'ai une séquence générée aléatoirement
où chaque numéro a un poids
Code : Sélectionner tout - Visualiser dans une fenêtre à part
25    55    57    51    10    19    24    24    55
En fait je cherche à diviser la séquence 's' en des cellules où la somme des poids des éléments de chaque cellule ne dépasse pas la valeur C=150.
au début j'ai utilisé une boucle while mais souvent elle se bloque
alors j'ai utilisé ce code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
K=3;
P=cumsum(p(s));
 
S{1}=s(find(P<=C));
for i=2:K
    S{i}=s(find(P<=C*i));
end
a{1}=S{1};
for i=2:K
    a{i}=setdiff(S{i},S{i-1});
end
ce qui donne

a{1}= 5 3
a{2}= 2 4 8 9 10

Ma question est maintenir le meme order des numéros de que la séquence 's' et non pas triée c'est à dire
Merci beaucoup d'avance