C/C++

Пожалуйста,Помогите с программированием(язык с++)

Дана матрица размером NxM. Упорядочить ее строки по возрастанию их наибольших элементов.


вот что я уже сделал:

#include <iostream>
using std::cout;

#include <cstdlib>
using std::rand;
using std::srand;

#include <iomanip>
using std::setw;

#include <ctime>
using std::time;

const int m = 3;
const int n = 5;

int main(void)
{
using namespace std;
setlocale(0, "rus");

srand(static_cast<unsigned int>(time(NULL)));

int mas[m][n], *p;

for (int i = 0; i < m; i++) {
p = mas[i];

for (int j = 0; j < n; j++) {
*(p + j) = rand() % 30;
cout << setw(6) << *(p + j) << " ";
}
cout << '\n';
}

int Min, Max, s, t;

for (int i = 0; i < m; i++) {

p = *(mas + i);

Max = *p;
Min = *p;

for (int j = 0; j < n; j++) {
if (*(p + j) > Max)
Max = *(p + j);

if (*(p + j) < Min)
Min = *(p + j);
}

cout << "\n\nМинимум: " << Min
<< "\nМаксимум: " << Max;

for (int b = 0; b < n; b++) {
if (*(p + b) == Max) {
s = *(p + b);
*(p + b) = *(p + 0);
*(p + 0) = s;
}
}

for (int b = 0; b < n; b++) {
if (*(p + b) == Min) {
t = *(p + b);
*(p + b) = *(p + (n - 1));
*(p + (n - 1)) = t;
}
}
}

cout << "\n\nИзменённый массив:\n\n";

for (int i = 0; i < m; i++)
{
p = *(mas + i);

for (int j = 0; j < n; j++)
{
cout << setw(6) << *(p + j) << " ";
}
cout << '\n';
}






return 0;
}
 #include  
#include
#include
#include
#define RAND(min, max) (rand() % ((max) - (min)) + (min))
using namespace std;
void fill_random(int* row, const size_t length, int a, int b) {
if (a > b) {
swap(a, b);
}
for (size_t i = 0; i < length; ++i) {
row[i] = RAND(a, b);
}
}
void show_row(int* row, const size_t length, const streamsize width) {
for (size_t i = 0; i < length; ++i) {
cout max(b, length);
}
void row_swap(int* a, int* b, size_t length) {
for (size_t i = 0; i < length; ++i) {
swap(a[i], b[i]);
}
}
int main() {
const size_t rows = 8;
const size_t cols = 5;
int matrix[rows][cols]{};
const auto a = 1;
const auto b = 30;
const streamsize width = 4;
srand(unsigned(time(nullptr)));
for (size_t i = 0; i < rows; ++i) {
fill_random(matrix[i], cols, a, b);
show_row(matrix[i], cols, width);
}
puts("");
int i, n, len = static_cast(rows);
do {
n = 0;
for (i = 1; i < len; ++i) {
if (compare(matrix[i - 1], matrix[i], cols)) {
row_swap(matrix[i - 1], matrix[i], cols);
n = i;
}
}
len = n;
} while (len);
for (size_t i = 0; i < rows; ++i) {
show_row(matrix[i], cols, width);
}
system("pause > nul");
}
Владимир Мирошниченко
Владимир Мирошниченко
82 835
Лучший ответ
Александр Федоров огромное вам спасибо!!!