C/C++

Контрольная по алгоритмизации и программированию! C++

 #include  
#include
#include

using namespace std;

void show(int** mx, const size_t n, const size_t m, const streamsize w) {
if (!mx) return;
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < m; ++j) {
cout i) mx[i][j] = uid(gen);
else mx[i][j] = c;
}
}
}

void fill(int** mx, const size_t n, int a, int b) {
if (!mx) return;
if (a > b) swap(a, b);
uniform_int_distribution uid(a, b);
mt19937 gen{ random_device()() };
for (size_t i = 0; i < n; ++i) mx[i][i] = uid(gen);
}

size_t input(const char* msg) {
size_t value = 0;
while (!value) {
cout > value;
cin.ignore(0x1000, '\n');
}
return value;
}

int** create(const size_t n, const size_t m) {
auto mx = new int* [n];
for (size_t i = 0; i < n; ++i) {
mx[i] = new int[m];
}
return mx;
}

int** destroy(int** mx, const size_t n) {
if (mx != nullptr) {
for (size_t i = 0; i < n; ++i) delete[] mx[i];
delete[] mx;
mx = nullptr;
}
return mx;
}

void maxcolumn(int** mx, const size_t n) {
if (!mx) return;
for (size_t i = 0; i < n; ++i) {
auto x = mx[i][0];
for (size_t j = 1; j < n; ++j) {
if (mx[i][j] > x) {
x = mx[i][j];
}
}
mx[i][n] = x;
}
}

int main() {
constexpr streamsize w = 6;
auto n = input("n: ");
auto m = n + 1;
auto mx = create(n, m);
fill(mx, n, n, 0, 5);
show(mx, n, n, w);
fill(mx, n, -10, -5);
show(mx, n, n, w);
maxcolumn(mx, n);
show(mx, n, m, w);
mx = destroy(mx, n);
}
Артур Шайдеров
Артур Шайдеров
67 494
Лучший ответ
 #include  
#include
#include

using namespace std;

// Функция для ввода целого числа
int inputInt(const string& message) {
int x;
cout > x;
return x;
}

// Функция для генерации массива
int** generateArray(int n) {
// Выделяем память под массив
int** A = new int*[n];
for (int i = 0; i < n; i++) {
A[i] = new int[n];
}

// Инициализируем случайным генератор
srand(time(NULL));

// Заполняем массив
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i >= j) {
A[i][j] = 1;
} else {
A[i][j] = rand() % 5;
}
}
}

return A;
}

// Функция для вывода массива
void printArray(int** A, int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout