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

ПРОГУ НА С++

Михаил Кузнец Ученик (67), на голосовании 4 месяца назад
а) Написать программу, в которой пользователь вводит целые числа m и n, а также
вещественные числа a и b. После чего в программе генерируется матрица m * n
заполненная случайными вещественными числами из интервала [a, b]. Данная матрица
выводится на экран. После чего выводится преобразованная матрица в соответствии с вариантом задания.
4. Уплотнить заданную матрицу, удалив из нее столбцы, заполненные нулями.
Голосование за лучший ответ
EMINEM Мудрец (12646) 5 месяцев назад
Сам пиши, программист xepоff
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (264160) 5 месяцев назад
можно так:

 #include  
#include
#include
#include
#include

using namespace std;

double random_double(double a, double b) {
random_device rd;
mt19937 gen(rd());
uniform_real_distribution dis(a, b);
return dis(gen);
}

void generate_row(vector& row, double a, double b) {
generate(row.begin(), row.end(), [=]() { return random_double(a, b); });
}

void print_matrix(const vector>& matrix) {
for (const auto& row : matrix) {
for (double num : row) {
cout << fixed << setprecision(2) << num << " ";
}
cout << endl;
}
}

int main() {
int m, n;
double a, b;

cout << "Введите количество строк (m): ";
cin >> m;
cout << "Введите количество столбцов (n): ";
cin >> n;
cout << "Введите нижнюю границу интервала (a): ";
cin >> a;
cout << "Введите верхнюю границу интервала (b): ";
cin >> b;

vector> matrix(m, vector(n));
for_each(matrix.begin(), matrix.end(), [&](vector& row) {
generate_row(row, a, b);
});
print_matrix(matrix);
return 0;
}
Похожие вопросы