using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace kektus
{
class program
{
static void printarr(int[][] arr)
{
foreach (var str in arr)
{
foreach (var el in str)
console.write($"{el}\t");
console.writeline();
}
}
static void main(string[] args)
{
int m;
int n;
try
{
console.write("m = "); m = int.parse(console.;
console.write("n = "); n = int.parse(console.;
}
catch
{
console.writeline("ошибка ввода");
return;
}
if (n < 0 || m < 0)
{
console.writeline("ошбка ввода");
return;
}
console.writeline("m = {0}; n = {1}.", m, n);
int[][] arr = new int[m][];
var rand = new random();
for(int i = 0; i < m; ++i)
{
arr[i] = new int[n];
for (int j = 0; j < n; ++j)
arr[i][j] = rand.next(10,99);
}
console.writeline("исходный массив: ");
printarr(arr);
console.writeline();
int[][] buffer = new int[n][];
for (int j = 0; j < n; ++j)
buffer[j] = new int[m];
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
buffer[j][i] = arr[i][j];
arr = buffer;
console.writeline("преобразованный: ");
printarr(arr);
console.writeline();
}
}
}
ответ:
11 тысяч
объяснение:
в файле круги эйлера:
красный - зефир
черный - шоколад
i - шоколад и зефир на странице
ii - только зефир
iii - только шоколад
1-ый запрос шоколад | зефир = 15000 ответов
т.е. всего шоколада и зефира в интернете на 15000 страницах
(на рисунке это область i + ii+ iii = 15000)
2-ой запрос - шоколад & зефер = 8000 страниц
получается страниц, где есть и шоколад, и зефир - 8000
(i = 8000)
3-ий запрос зефир = 12000 ответов
значит сайтов, где есть зефир - 12000
(i + ii = 12000)
а нам надо найти страницы, где есть шоколад (iii + i - ? )
у нас есть уравнение:
i + ii + iii = 15k
i = 8k
i + ii = 12k
из 1-го вычитаем 3-е и прибавляем 2-ое
i + ii + iii - i - ii + i = 15k - 12k + 8k = 11k = i + iii
Поделитесь своими знаниями, ответьте на вопрос: