ГО С Т Р ИСО 24153— 2012
RLS(n. А8):
printf(*nopHqoK: %dVT. n);
for(i = 1; i <= n; i++) {
for(j= 1:j<= n: j++){
printf("%3d \ A8{i][jJ);
}
printfCVT):
}
printfCVf):
system("nay3a"):
return 0;
}
C.3 Функции
у .. .. .. .. .. .. .. ... .. .. .. .. .. .. .. .. .
.......
................................................
!
Ч
long RandlntlN(n)
long n;
<
/*Случайное целое из интервала от 1до п включительно, см. 8.2
return (1 + (long)floor(U{) *n));
>
у...................................................
.
..................... /
long RandlntMN(m, n)
long m. n:
*/
{
/•Случайное целое из интервала от m до п включитепьно;(т < п). см.8.2
return (т + <toog)floor(U() *(п - т + 1))):
Г
>
.......
*................................
.........
*...........................................................
i
Г
*/
7
void RandPermN (n. А)
long п. АЦ:
<
Случайная перестановка N элементов, см. 8.3
Г
А(] - массив входа и выхода: выход в А{)
long j. k. temp:
for(j = 0;j<n-1:j++){
k = RandlntMN(j. n-1);
temp = АЩ; A(j] = A(k]: A[k] = temp;
}
return;
/
*/
*У
>
............*................
...
................................................................................../
vokl Rand Perm NM (m. n. A)
long m. n. АЦ;
{
/*Случайная перестановка no m единиц одновременно из n. см. 8.3
Г
А[] - массив входа и выхода; выход вА [0:т-1]
long j, k. temp;
if (m == n) {m = n - 1;}
for(j = 0;j<m : j++){
k = RandlntMN(j. n-1);
temp = A(j]; A{j] = AW: A(k] = temp;
>
/
}
return;
.....
..............
.....
........................./
void RandDerang (n, A1. A2)
long n, A1Q.A2Q;
{
24