blob: 021365fc384c88bfce8e31024b149af0ed0359dd (
plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include<iostream>
void permut ( int tab[], int d, int i) {
int Temp[d];
for (int j =0; j < d; j ++) {
Temp[j]=tab[j];
}
if ( i > 0) {
for (int j = 0; j < d ; j ++) {
if (j-i < 0 ) {
tab[j]=Temp[d-i+j];
}
else {
tab[j]= Temp[j-i];
}
}
}
else if ( i < 0 ) {
for (int j = 0; j<d;j ++) {
if (j-i==d) {
tab[j]=Temp[d+i-j];
}
else if ( j-i > d) {
tab[j]=Temp[d-j];
}
else {
tab[j]=Temp[j-i];
}
}
}
}
int main () {
int tab[6] = {0,1,2,3,4,5};
//Ce programme effectue une rotation de i etapes sur le tableau donné ( le sens change en fonction du signe de i)
permut ( tab, 6, 2);
for (int i =0; i< 6; i ++) {
std::cout<<tab[i]<<" ";
}
std::cout<<std::endl;
return 0;
}
|