Дана матрица размером 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;
}
C/C++
Пожалуйста,Помогите с программированием(язык с++)
#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");
}
Александр Федоров
огромное вам спасибо!!!
Похожие вопросы
- Помогите с заданием по программированию язык C(не С++)
- Объясните пожалуйста одну штуку в языке программирования С++.
- Помогите пожалуйста решить задачу на языке С#.
- Помогите с программированием на C++
- Задание по программированию язык C/СИ
- Программирование, пожалуйста помогите очень нужно решить
- Программирование язык с++
- Помогите с программированием на с++
- Помогите с программированием
- Помогите с программированием на Си