Режим инкогнито, приватный просмотр — режим браузеров, временно дающий «новое» устройство без истории сёрфинга. Иногда дополнительно усиливается защита информации: например, начинает агрессивнее работать блокировщик трекеров.
Может применяться:
1)для сёрфинга по порно, медицинским и прочим законным, но компрометирующим сайтам, покупки подарков втайне от домочадцев
2)для сёрфинга на чужом устройстве
3)для временного частичного снятия пузыря фильтров
4)для ухода от оплаты на некоторых новостных сайтах
5)для отладки сайтов
6)для трансляции экрана
int RowWithMax(double m[n][n], int j)
{
double max_el = m[j][j];
int max_i = j;
for (int i = j; i < n; i++)
{
if (abs(m[i][j]) > abs(max_el))
{
max_el = m[i][j];
max_i = i;
}
}
return max_i;
}
void RowChange(double m[n][n], double f[n], int i1, int i2)
{
for (int j = 0; j < n; j++)
{
/*m[i1][j] = m[i1][j] + m[i2][j];
m[i2][j] = m[i1][j] - m[i2][j];
m[i1][j] = m[i1][j] - m[i2][j];*/
swap(m[i1][j], m[i2][j]);
}
swap(f[i1], f[i2]);
}
double StraightRun(double m[n][n], double f[n], int i) //прямой метод
{
double el;
double det = 1;
int reverse = 0;
int max_i = RowWithMax(m, i);
if (i != max_i)
{
RowChange(m, f, i, max_i);
//reverse++;
det *= (-1);
}
el = m[i][i];
det *= el;
f[i] /= el;
for (int i1 = n - 1; i1 >= i; i1--)
{
m[i][i1] /= el;
}
for (int i2 = i + 1; i2 < n; i2++)
{
el = m[i2][i];
f[i2] -= f[i] * el;
for (int j = n - 1; j >= i; j--)
{
m[i2][j] -= el * m[i][j];
}
}
return det/**pow(-1, reverse)*/;
}