Ответ:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "russian");
int a[100][100];
int n; int r;
cin >> n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
a[i][j] = rand() % 10;
}
int sum[50];
for (int i = 0; i < n; i++)
{
sum[i] = 0;
for (int j = 0; j < n; j++)
{
if (i%2==0)
{
for (int k = j; k < n; k++)
{
int min = k;
for (int u = k + 1; u < n; u++)
if (a[i][u] < a[i][min])
{
min = u;
int buf = a[i][k];
a[i][k] = a[i][min];
a[i][min] = buf;
}
}
}
}
}
for (int i = 0; i < n; i++)
{
sum[i] = 0;
for (int j = 0; j < n; j++)
{
if (i % 2 == 0)
{
sum[i] += a[i][j];
}
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
if (i%2==1)
{
a[i][j] = sum[i-1];
}
}
for (int i = 0; i < n; i++)
{
cout << endl;
for (int j = 0; j < n; j++)
cout<<a[i][j]<< " ";
}
return 0;
}
Объяснение:
<em>// PascalABC.NET 3.2, сборка 1467 от 02.06.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('*** Исходный массив ***');
var a:=MatrRandom(3,6,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var t:=a.ElementsWithIndexes.MinBy(x->x[2]);
Writeln('Min: A[',t[0]+1,',',t[1]+1,']=',t[2])
end.
<u>Пример</u>
*** Исходный массив ***
-30 55 92 98 96 29
-41 -11 -94 72 -3 -91
64 48 10 10 -85 91
------------------------
Min: A[2,3]=-94
I = log(2)[32*8] = 5+3 = 8 бит (2^5=32, 2^3=8)
По данной схеме составим логическую функцию:
F= A * B + not A + C, упрощаем
F= not A + B +C,
строим таблицу истинности:
Таблица во вложении: