Jakoś tak to będzie:
double tab[3][6] = {
{ 0.5, 0.6, -0.4, 0.0, 0.6, -0.4 },
{ 0.5, -0.8, 0.5, 0.0, 0.5, -0.1 },
{ 0.5, 0.0, 0.0, 0.0, 0.5, 0.4 }
};
double x = 1.0, y = 1.0;
std::random_device rd;
std::uniform_int_distribution<int> dist(0, 2);
for (int i = 0; i < 5000; ++i) {
int rnd = dist(rd);
double x2 = tab[rnd][0] * x + tab[rnd][1] * y + tab[rnd][2];
double y2 = tab[rnd][3] * x + tab[rnd][4] * y + tab[rnd][5];
x = x2;
y = y2;
/* no i tu zapisujesz do pliku wartości x, y (i prawdopodobnie 'rnd') */
}