
C/C++
Помогите пожалуйста написать программу!

#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
int main() {
uniform_int_distribution<int> uid(0, 1);
mt19937 gen{ random_device()() };
auto n = 7U, m = 7U;
auto matrix = new int*[n];
for (auto i = 0U; i < n; ++i) {
matrix[i] = new int[m];
for (auto j = 0U; j < m; ++j) {
matrix[i][j] = uid(gen);
cout << setw(3) << matrix[i][j];
}
puts("");
}
int sum_max_row = numeric_limits<int>::min();
int sum_min_col = numeric_limits<int>::max();
size_t max_pos = 0U, min_pos = 0U;
for (auto i = 0U; i < n; ++i) {
int sum_row = 0;
int sum_col = 0;
auto j = 0U;
while (j < m) {
sum_row += matrix[i][j];
sum_col += matrix[j][i];
++j;
}
if (sum_row > sum_max_row) {
sum_max_row = sum_row;
max_pos = i + 1U;
}
if (sum_col < sum_min_col) {
sum_min_col = sum_col;
min_pos = i + 1U;
}
}
cout << "maximum amount string: " << max_pos << '\n';
cout << "minimum amount column: " << min_pos << '\n';
for (auto i = 0U; i < n; ++i) delete[] matrix[i];
delete[] matrix;
}
#include <iomanip>
#include <random>
using namespace std;
int main() {
uniform_int_distribution<int> uid(0, 1);
mt19937 gen{ random_device()() };
auto n = 7U, m = 7U;
auto matrix = new int*[n];
for (auto i = 0U; i < n; ++i) {
matrix[i] = new int[m];
for (auto j = 0U; j < m; ++j) {
matrix[i][j] = uid(gen);
cout << setw(3) << matrix[i][j];
}
puts("");
}
int sum_max_row = numeric_limits<int>::min();
int sum_min_col = numeric_limits<int>::max();
size_t max_pos = 0U, min_pos = 0U;
for (auto i = 0U; i < n; ++i) {
int sum_row = 0;
int sum_col = 0;
auto j = 0U;
while (j < m) {
sum_row += matrix[i][j];
sum_col += matrix[j][i];
++j;
}
if (sum_row > sum_max_row) {
sum_max_row = sum_row;
max_pos = i + 1U;
}
if (sum_col < sum_min_col) {
sum_min_col = sum_col;
min_pos = i + 1U;
}
}
cout << "maximum amount string: " << max_pos << '\n';
cout << "minimum amount column: " << min_pos << '\n';
for (auto i = 0U; i < n; ++i) delete[] matrix[i];
delete[] matrix;
}
2 задача главная диагональ тупо i==j тогда побочная i = 6-j
если дан int mas[7][7]; тогда тупо
for(int i=0; i<7; i++)
for(int j=0; j<7; j++)
{
mas[i][j] = (i==j) || (i == 6-j) ? 1 : 0;
}
а вот 1 интересней==извращенней
За один то проход, но чем можно пользоваться, вот в чем вопрос?
если дан int mas[7][7]; тогда тупо
for(int i=0; i<7; i++)
for(int j=0; j<7; j++)
{
mas[i][j] = (i==j) || (i == 6-j) ? 1 : 0;
}
а вот 1 интересней==извращенней
За один то проход, но чем можно пользоваться, вот в чем вопрос?
проверяй
https://pastebin.com/pZ8eZTxz
https://pastebin.com/pZ8eZTxz
написать программу используя двоичный код? интересная задача
Похожие вопросы
- Помогите пожалуйста написать программу на Си
- Помоги пожалуйста написать программу на C++
- Помогите, пожалуйста, написать программу по нижеописанной задаче!
- Помогите пожалуйста написать программу на С++
- Помогите пожалуйста написать программу, реализующую десять генераторов псевдослучайных чисел.СИ!!!!
- Помогите пожалуйста, написать программу в С++
- Помогите, пожалуйста, написать программу на языке Си.
- Помогите пожалуйста написать программу небольшую в C++. Одномерный массив
- Помогите пожалуйста написать программу на C++. Очень нужно!
- Помогите пожалуйста написать программу на C++. Срочно нужно, пожалуйста.
sum_row += matrix[i][j];
sum_col += matrix[j][i];
Видел решение кто-то сдал с применением массива минимумов длиной в кол. столбов, но это хоть в один проход из медленной памяти, но массив то все равно занимает место в памяти. Решаема ли эта задача еще как-то?