Сформировать матрицу B(M, N) элементами которой являются
случайные числа, равномерно распределенные в интервале (-5, 7). Переставляя
20
ее строки и столбцы, добиться того, чтобы наибольший элемент матрицы
оказался в правом нижнем углу.
c++
помогите с лабой плиз
с объяснением
C/C++
Сформировать матрицу B(M, N) элементами которой являются случайные числа, равномерно распределенные в интервале (-5, 7
(◔‿◔) А что тут объяснять? Просто берёшь и формируешь матрицу с рандомными значениями из указанного диапазона (у меня она вещественная !). Одновременно с формированием матрицы определяешь её максимальный элемент, запоминаешь его индексы, а матрицу печатаешь. Затем меняешь строку с максимальным элементом на последнюю, после чего меняешь столбец с максимальным элементом на последний, а трансформированную матрицу выводишь на экран. (•‿•)
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int i, j, k, l, m, mminus, n, nminus;
cout << "m n » ";
cin >> m >> n;
mminus = m - 1;
nminus = n - 1;
double B[m][n], a, max = -6;
srand(time(NULL));
cout << "\nMatrix:" << endl;
for (k = 0; k < m; k++)
{
for (l = 0; l < n; l++)
{
B[k][l] = 1.0 * rand() /
RAND_MAX * 12.0 - 5.0;
if (B[k][l] > max)
{
max = B[k][l];
i = k;
j = l;
}
cout << fixed <<
setprecision(4) << setw(8) << B[k][l];
}
cout << endl;
}
if (i != mminus)
for (l = 0; l < n; l++)
{
a = B[i][l];
B[i][l] = B[mminus][l];
B[mminus][l] = a;
}
if (j != nminus)
for (k = 0; k < m; k++)
{
a = B[k][j];
B[k][j] = B[k][nminus];
B[k][nminus] = a;
}
cout << "\nMax = " << max <<
"\n\nTransformed Matrix:" << endl;
for (k = 0; k < m; k++)
{
for (l = 0; l < n; l++)
cout << fixed <<
setprecision(4) << setw(8) << B[k][l];
cout << endl;
}
system("pause > nul");
}

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int i, j, k, l, m, mminus, n, nminus;
cout << "m n » ";
cin >> m >> n;
mminus = m - 1;
nminus = n - 1;
double B[m][n], a, max = -6;
srand(time(NULL));
cout << "\nMatrix:" << endl;
for (k = 0; k < m; k++)
{
for (l = 0; l < n; l++)
{
B[k][l] = 1.0 * rand() /
RAND_MAX * 12.0 - 5.0;
if (B[k][l] > max)
{
max = B[k][l];
i = k;
j = l;
}
cout << fixed <<
setprecision(4) << setw(8) << B[k][l];
}
cout << endl;
}
if (i != mminus)
for (l = 0; l < n; l++)
{
a = B[i][l];
B[i][l] = B[mminus][l];
B[mminus][l] = a;
}
if (j != nminus)
for (k = 0; k < m; k++)
{
a = B[k][j];
B[k][j] = B[k][nminus];
B[k][nminus] = a;
}
cout << "\nMax = " << max <<
"\n\nTransformed Matrix:" << endl;
for (k = 0; k < m; k++)
{
for (l = 0; l < n; l++)
cout << fixed <<
setprecision(4) << setw(8) << B[k][l];
cout << endl;
}
system("pause > nul");
}

Похожие вопросы
- C++Дана целочисленная матрица размера mn. Найти матрицу, получающуюся перестановкой столбцов
- Массив Х [36] целых элементов задать датчиком случайных чисел.
- Преобразовать матрицу A(m,n) таким образом чтобы каждый столбец был упорядочен по возрастанию
- Помогите пожалуйста с Массивами .В языке С .Заполнил 2-мерный массив N и M случайными числами дальше не понимаю.
- Для всех задач сформировать одномерный массив N случайных чисел из интервала (-10; 10).
- Создать одномерный массив, состоящий из n вещественных элементов. Элементы массива определить при помощи случайных чисел
- В файле дана двухмерная матрица, сформировать одномерный массив длинной N из чётных элементов квадратной матрицы
- 5) Найти среднее значение элементов построчно и по столбцам массива n*n случайных чисел. с++ пж помагите
- Дан массив из N элементов (N < 1000), причем N - четное. Вставить в середину массива сумму всех элементов.
- Работа с матрицами. Нужно найти сумму элементов каждой строки. Помогите пожалуйста ????????