. . C# :
// a[i] a[j]
r=a[i]; // a[i]
a[i]=a[j]; /* a[j] a[i], , r */
a[j]=r // a[i] a[j]
. .
6. .
. , a={1, 2, 3, 4, 5, 6, 7, 8, 9} a={1/5, 2/5, 3/5, 4/5, 1, 6/5, 7/5, 8/5, 9/5}. , 1, , . r. , . , , , , , . , .
r=a[4];
for (i=0; i<n; i++) a[i]:=a[i]/r;
7. . . . , a={1,2,3,4,5,6,7,8,9} a={9,8,7,6,5,4,3,2,1}.
. , : , . , , .. . , . : i n-1-i. n/2 . C#: n/2, a[i] a[n-1-i].
for (i=0; i<= n/2; i++)
{ r=a[i];
a[i]=a[n-1-i];
a[n-1-i]=r;
}
, : i - , , j - , . i j. i= = j, , . i>j, . , , , . a[i] a[j] .
i=0; j=n-1;
|
|
while (i<j)
{ r=a[i];
a[i]=a[j];
a[j]=r;
i++; j--;
}
8. . , p q. . , a={1,1,2,3,4,5,6,7,7,7,7,8} p=2, q=6 a={1,1,6,5,4,3,2,7,7,7,7,8}.
. , . , , p q . i j.
i=p;
j=q;
while (i<j)
{ r=a[i];
a[i]=a[j];
a[j]=r;
i++;
j--;
}.
9. r . . , a={1,2,3,4,5,6,7,8,9} r=3 : a={9,1,2,3,4,5,6,7,8}, a={8,9,1,2,3,4,5,6,7}, a={7,8,9,1,2,3,4,5,6}.
. . r : ; ; . :
for (i=0; i< r; i++)
{ s=a[n-1];
for (j=n-1; j>=0; j--) a[j+1]=a[j];
a[0]:=s
}
. , r r . , . ( a={1,2,3,4,5,6,7,8,9} r=3):
1) 7 - 9; : a={1,2,3,4,5,6,9,8,7};
2) 1 - 6; : a={6,5,4,3,2,1,9,8,7};
3) ; : a={7,8,9,1,2,3,4,5,6}.
:
1. C#.
2. , r.
3. .