{static double mn=::mn; /* початкове значення mn присвоюється від однойменної глобальної змінної mn */
double k, mn1;
k=3125*mn;
mn1=(k-floor(k/67108864)*67108864);
mn=mn1;
return(mn1/33554432-1); }
Для наочності початкове значення mn вибираємо таке ж (mn=5). Цикл виклику поділений на дві частини, між котрими змінюється значення глобальної mn, що не змінює результат.
// файл PART1\1_30.cpp
//Виклик генератора випадкових чисел
#include “c:\CPP\SUBPROG\\roll.h”
#include “c:\CPP\SUBPROG\\ roll_txt.h”
main() {clrscr(); //очистка екрана
i=1; mn=5 //використання глоб. i із roll.h
do{i++; cout<<”\n”<<i<<’ ‘<<chmn ();}while(i<6);
mn=13; cout<<”\n”<<”переривання циклу”;
do{i++; cout<<”\n”<<i<<’ ‘<<chmn ();}while(i<11);
cout<<”\n кінець задачі “;
pause(0); return 0;}