Vous ne savez pas comment faire en sorte de ne pas tomber sur la même ligne quand on veut inverser 2 lignes ? je vous montre le code et je vous détaille ce qui ne va pas ...
Donc des fois, le j et le x sont les mêmes donc du coup, il n'y a pas d'inversions de lignes. Et malgré le fait que j'ai mis x~=j, et bien j'ai toujours ce problème ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 a=[7 2 8 4 6 5 3 9 1;4 3 1 9 8 7 5 2 6;6 5 9 1 2 3 4 8 7;1 8 5 2 7 4 6 3 9;9 6 2 3 5 8 1 7 4;3 4 7 6 9 1 8 5 2 ;5 7 6 8 4 2 9 1 3;2 1 4 5 3 9 7 6 8;8 9 3 7 1 6 2 4 5] x=randi(9,1,1); disp(x); if x<4 j=(randi(3,1,1)); x~=j; aux=a(x,:); a(x,:)=a(j,:); a(j,:)=aux; elseif x>3 && x<7 j=(randi(3,1,1)+3); x~=j; aux=a(x,:); a(x,:)=a(j,:); a(j,:)=aux; else x>6 j=(randi(3,1,1)+6); x~=j; aux=a(x,:); a(x,:)=a(j,:); a(j,:)=aux; end disp(a); disp(j); disp(x);
Partager