Другие языки программирования и технологии
С++ Полностью напишите прогу!
Задана квадратная матрица A размером NxN (N<=10), состоящая из действительных элементов. Найти сумму и произведение всех ее отрицательных элементов. С++
#include <iostream>
#include <numeric>
#include <random>
#include <iomanip>
using namespace std;
void rand(double* box, const int n) {
uniform_real_distribution<> urd(-9, 9);
mt19937_64 gen{ random_device()() };
for (auto i = 0; i < n; ++i) box[i] = urd(gen);
}
void show(const double* box, const int n) {
for (auto i = 0; i < n; ++i) cout << fixed << setprecision(3) << setw(8) << box[i];
cout.put('\n');
}
double sum(double* b, double* e) {
auto lambda = [](double s, double x) { return x < 0? s + x : s; };
return accumulate(b, e, .0, lambda);
}
double mult(double* b, double* e) {
auto lambda = [](double m, double x) { return x < 0? m * x : m; };
return accumulate(b, e, 1., lambda);
}
int main() {
const auto x = 10;
double matrix[x][x];
int n;
cout << "n: ";
cin >> n;
if (n > 10) exit(0);
for (auto i = 0; i < n; ++i) rand(matrix[i], n);
for (auto i = 0; i < n; ++i) show(matrix[i], n);
cout.put('\n');
auto s = .0;
for (auto i = 0; i < n; ++i) s += sum(matrix[i], matrix[i] + n);
cout << "sum: " << fixed << setprecision(3) << s << '\n';
auto m = 1.;
for (auto i = 0; i < n; ++i) m *= mult(matrix[i], matrix[i] + n);
cout << "mult: " << fixed << setprecision(3) << m << '\n';
system("pause");
}
#include <numeric>
#include <random>
#include <iomanip>
using namespace std;
void rand(double* box, const int n) {
uniform_real_distribution<> urd(-9, 9);
mt19937_64 gen{ random_device()() };
for (auto i = 0; i < n; ++i) box[i] = urd(gen);
}
void show(const double* box, const int n) {
for (auto i = 0; i < n; ++i) cout << fixed << setprecision(3) << setw(8) << box[i];
cout.put('\n');
}
double sum(double* b, double* e) {
auto lambda = [](double s, double x) { return x < 0? s + x : s; };
return accumulate(b, e, .0, lambda);
}
double mult(double* b, double* e) {
auto lambda = [](double m, double x) { return x < 0? m * x : m; };
return accumulate(b, e, 1., lambda);
}
int main() {
const auto x = 10;
double matrix[x][x];
int n;
cout << "n: ";
cin >> n;
if (n > 10) exit(0);
for (auto i = 0; i < n; ++i) rand(matrix[i], n);
for (auto i = 0; i < n; ++i) show(matrix[i], n);
cout.put('\n');
auto s = .0;
for (auto i = 0; i < n; ++i) s += sum(matrix[i], matrix[i] + n);
cout << "sum: " << fixed << setprecision(3) << s << '\n';
auto m = 1.;
for (auto i = 0; i < n; ++i) m *= mult(matrix[i], matrix[i] + n);
cout << "mult: " << fixed << setprecision(3) << m << '\n';
system("pause");
}
Похожие вопросы
- напишите проги в ПАСКАЛЕ плиз!!!очень надо.
- СРОЧНО ! Напишите прогу на Паскале
- можно ли написать прогу...
- Нужно написать программу, на нахождения бессектрисы треугольника, если пользователем задано длину плз напишите прогу С++
- Помогите написать прогу!!!
- Помогите плиз, написать прогу на Си++! Срочно очень нужно!
- Помогите написать прогу на паскале
- Как написать прогу на паскале или С, чтобы при запуске этой проги она удаляла файл, например С://123.txt
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- Помогите написать прогу на паскале!