Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++ код к задаче напишите пожалуйста

name no Ученик (38), закрыт 1 месяц назад
Лучший ответ
Николай Веселуха Высший разум (360749) 1 месяц назад
 #include  
#include
#include
#include
#include
#include
#include
#include
#define RAND(min, max) (rand() % ((max) - (min)) + (min))
using namespace std;
using T = int;
size_t count(const char* prompt, size_t mn, size_t mx) {
size_t value = -1;
while (value < mn || value > mx) {
cout << prompt;
cin >> value;
cin.ignore(0x1000, '\n');
}
return value;
}
void fill_random(vector>& mx, const size_t n, const size_t m, T a, T b) {
if (a > b) swap(a, b);
uniform_int_distribution uid(a, b);
mt19937 gen{ random_device()() };
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < m; ++j) mx[i][j] = uid(gen);
}
}
void show(const vector>& mx, const size_t n, const size_t m, const streamsize w) {
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < m; ++j) cout << ' ' << setw(w) << mx[i][j];
puts("");
}
puts("");
}
static void resize(size_t& n, size_t& m, const size_t h, const size_t w) {
n = count("N: ", h, w);
m = count("M: ", h, w);
}
void add_with_number(vector>& mx, const size_t n, const size_t m, T number) {
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < m; ++j) mx[i][j] += number;
}
}
void multiply_by_number(vector>& mx, const size_t n, const size_t m, T number) {
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < m; ++j) mx[i][j] *= number;
}
}
T max_element(vector>& mx, const size_t n, const size_t m) {
T x = numeric_limits::min();
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < m; ++j) if (mx[i][j] > x) x = mx[i][j];
}
return x;
}
void show_submatrix(vector>& mx, const size_t ii, const size_t jj, const size_t n, const size_t m, const streamsize w) {
for (size_t i = ii; i < n; ++i) {
for (size_t j = jj; j < m; ++j) cout << ' ' << setw(w) << mx[i][j];
puts("");
}
puts("");
}
int main() {
srand(static_cast(time(nullptr)));
constexpr size_t h = 10;
constexpr size_t w = 1000;
vector> mx(w, vector(w));
auto n = count("N: ", h, w);
auto m = count("M: ", h, w);
T a = 10;
T b = 99;
fill_random(mx, n, m, a, b);
auto width = static_cast(log10(b) + 1);
show(mx, n, m, width);
cout << "Resize:\n";
resize(n, m, h, w);
show(mx, n, m, width);
cout << "Number for sum: ";
T number{};
cin >> number;
add_with_number(mx, n, m, number);
width = static_cast(log10(max_element(mx, n, m)) + 1);
show(mx, n, m, width);
cout << "Number for multiply: ";
cin >> number;
multiply_by_number(mx, n, m, number);
width = static_cast(log10(max_element(mx, n, m)) + 1);
show(mx, n, m, width);
auto ii = count("Start row: ", 0, n);
auto jj = count("Start column: ", 0, m);
auto nn = count("Last row: ", ii, n);
auto mm = count("Last column: ", jj, m);
show_submatrix(mx, ii, jj, nn, mm, width);
}
name noУченик (38) 1 месяц назад
Дядя Коля, посмотрите тут вче ди правильно с кодом?
https://otvet.mail.ru/question/237611928
Я вам как то больше доверяю
Николай Веселуха Высший разум (360749) name no, :)
name noУченик (38) 3 недели назад
Дядя Коля, задача усложнилась(((
Как это сделать без векторов
Остальные ответы
Кольт Бравл старс Ученик (138) 1 месяц назад
 #include  
#include

using namespace std;

void resizeMatrix(vector>& matrix, int newRows, int newCols) {
matrix.resize(newRows);
for (auto& row : matrix) {
row.resize(newCols, 0);
}
}

void printSubmatrix(const vector>& matrix, int startRow, int startCol, int endRow, int endCol) {
for (int i = startRow; i <= endRow; ++i) {
for (int j = startCol; j <= endCol; ++j) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
}

void printMatrix(const vector>& matrix) {
for (const auto& row : matrix) {
for (int val : row) {
cout << val << " ";
}
cout << endl;
}
}

void addNumber(vector>& matrix, int number) {
for (auto& row : matrix) {
for (auto& val : row) {
val += number;
}
}
}

void multiplyNumber(vector>& matrix, int number) {
for (auto& row : matrix) {
for (auto& val : row) {
val *= number;
}
}
}

int main() {
vector> matrix = {{1, 2}, {3, 4}};
resizeMatrix(matrix, 3, 3);
printMatrix(matrix);
addNumber(matrix, 5);
printMatrix(matrix);
multiplyNumber(matrix, 2);
printMatrix(matrix);
printSubmatrix(matrix, 1, 1, 2, 2);
return 0;
}
name noУченик (38) 1 месяц назад
Опять чат джпт коряво сделало
Святослав Сивцев Профи (517) 1 месяц назад
В кодах ничего не понимаю, но чисто из интереса зашел сюда
Батаев ДмитрийПросветленный (22272) 1 месяц назад
затягивает
Похожие вопросы