Массивы X и Y задаются вводом с клавиатуры.
От программы требуется найти корень произведения среднеарифметических значений положительных элементов массивов X и Y.
Заранее спасибо за помощь, я в тупике.
Другие языки программирования и технологии
Написать программу на Си++
#include <iostream>
#include <iomanip>
#include <numeric>
using namespace std;
struct DoubleArray {
static void input(const char* name, double* box, const size_t n) {
for (auto i = 0U; i < n; ++i) {
cout << name << "[" << i << "] -> ";
cin >> box[i];
}
cout.put('\n');
}
static double positive_avg(const double* const box, const size_t n) {
auto s = 0.0;
auto c = 0U;
for (auto i = 0U; i < n; ++i) {
if (box[i] > 0) {
s += box[i];
++c;
}
}
return s / c;
}
};
double sqrt_multiply(const double a, const double b) {
return sqrt(a * b);
}
int main() {
double x[5], y[7];
DoubleArray::input("x", x, size(x));
DoubleArray::input("y", y, size(y));
const auto pax = DoubleArray::positive_avg(x, size(x));
const auto pay = DoubleArray::positive_avg(y, size(y));
const auto res = sqrt_multiply(pax, pay);
cout << "Result: " << fixed << setprecision(15) << res << endl;
system("pause");
}
#include <iomanip>
#include <numeric>
using namespace std;
struct DoubleArray {
static void input(const char* name, double* box, const size_t n) {
for (auto i = 0U; i < n; ++i) {
cout << name << "[" << i << "] -> ";
cin >> box[i];
}
cout.put('\n');
}
static double positive_avg(const double* const box, const size_t n) {
auto s = 0.0;
auto c = 0U;
for (auto i = 0U; i < n; ++i) {
if (box[i] > 0) {
s += box[i];
++c;
}
}
return s / c;
}
};
double sqrt_multiply(const double a, const double b) {
return sqrt(a * b);
}
int main() {
double x[5], y[7];
DoubleArray::input("x", x, size(x));
DoubleArray::input("y", y, size(y));
const auto pax = DoubleArray::positive_avg(x, size(x));
const auto pay = DoubleArray::positive_avg(y, size(y));
const auto res = sqrt_multiply(pax, pay);
cout << "Result: " << fixed << setprecision(15) << res << endl;
system("pause");
}
Для Х - найти среднеарифметическое положительных элементов (сумма всех эелементов разделить на их количество).
для У - то же самое.
перемножить эти две величины, извлечь корень из произведения.
все.
для У - то же самое.
перемножить эти две величины, извлечь корень из произведения.
все.
ща все будет;)
максимально просто:
#include
#include
using namespace std;
int main() {
while (true) {
//mas X
int sizeArrX = 0;
cout << endl << "size arr X = ";
cin >> sizeArrX;
int *ptrArrayX = new int[sizeArrX];
cout << endl << "Input elts pls";
for (int i = 0; i < sizeArrX; i++) {
cout << endl << "X[" << i << "] = ";
cin >> ptrArrayX[i];
}
//mas Y
int sizeArrY = 0;
cout << endl << "size arr Y = ";
cin >> sizeArrY;
int *ptrArrayY = new int[sizeArrY];
cout << endl << "Input elts pls";
for (int i = 0; i < sizeArrY; i++) {
cout << endl << "Y[" << i << "] = ";
cin >> ptrArrayY[i];
}
//print mas
cout << endl << "Mas X:";
for (int i = 0; i < sizeArrX; i++) {
cout << endl << "X[" << i << "] = " << ptrArrayX[i];
}
cout << endl << "Mas Y:";
for (int i = 0; i < sizeArrY; i++) {
cout << endl << "Y[" << i << "] = " << ptrArrayY[i];
}
//average positive elts
int countPosEltsX = 0;
double posAverageX = 0;
for (int i = 0; i < sizeArrX; i++) {
if (ptrArrayX[i] >= 0) {
posAverageX = posAverageX + ptrArrayX[i];
countPosEltsX++;
}
}
posAverageX = posAverageX / countPosEltsX;
cout << endl << "positive average for arr X = " << posAverageX;
int countPosEltsY = 0;
double posAverageY = 0;
for (int i = 0; i < sizeArrY; i++) {
if (ptrArrayY[i] >= 0) {
posAverageY = posAverageY + ptrArrayY[i];
countPosEltsY++;
}
}
posAverageY = posAverageY / countPosEltsY;
cout << endl << "positive average for arr Y = " << posAverageY;
// sqrt of mult average
double result = sqrt(posAverageX * posAverageY);
cout << endl << " -> Answer = " << result;
cout << endl << endl << endl;
delete[] ptrArrayX;
delete[] ptrArrayY;
}
return 0;
}



максимально просто:
#include
#include
using namespace std;
int main() {
while (true) {
//mas X
int sizeArrX = 0;
cout << endl << "size arr X = ";
cin >> sizeArrX;
int *ptrArrayX = new int[sizeArrX];
cout << endl << "Input elts pls";
for (int i = 0; i < sizeArrX; i++) {
cout << endl << "X[" << i << "] = ";
cin >> ptrArrayX[i];
}
//mas Y
int sizeArrY = 0;
cout << endl << "size arr Y = ";
cin >> sizeArrY;
int *ptrArrayY = new int[sizeArrY];
cout << endl << "Input elts pls";
for (int i = 0; i < sizeArrY; i++) {
cout << endl << "Y[" << i << "] = ";
cin >> ptrArrayY[i];
}
//print mas
cout << endl << "Mas X:";
for (int i = 0; i < sizeArrX; i++) {
cout << endl << "X[" << i << "] = " << ptrArrayX[i];
}
cout << endl << "Mas Y:";
for (int i = 0; i < sizeArrY; i++) {
cout << endl << "Y[" << i << "] = " << ptrArrayY[i];
}
//average positive elts
int countPosEltsX = 0;
double posAverageX = 0;
for (int i = 0; i < sizeArrX; i++) {
if (ptrArrayX[i] >= 0) {
posAverageX = posAverageX + ptrArrayX[i];
countPosEltsX++;
}
}
posAverageX = posAverageX / countPosEltsX;
cout << endl << "positive average for arr X = " << posAverageX;
int countPosEltsY = 0;
double posAverageY = 0;
for (int i = 0; i < sizeArrY; i++) {
if (ptrArrayY[i] >= 0) {
posAverageY = posAverageY + ptrArrayY[i];
countPosEltsY++;
}
}
posAverageY = posAverageY / countPosEltsY;
cout << endl << "positive average for arr Y = " << posAverageY;
// sqrt of mult average
double result = sqrt(posAverageX * posAverageY);
cout << endl << " -> Answer = " << result;
cout << endl << endl << endl;
delete[] ptrArrayX;
delete[] ptrArrayY;
}
return 0;
}



фу дефка прагарматмист. Сама делай
[Tot Samyi Timur Rahmanov]
у меня не получается. уже сижу несколько часов над этим, если знаешь как сделать, то не откажусь хотя бы от подсказок с твоей стороны, а если не знаешь, то не мешай другим своей грязью.
Я такое делала, когда училась. Вспоминаю, как страшный сон))
Ну я хз. Я советую на JavaScript он лучше.
[Tot Samyi Timur Rahmanov]
у меня задача сделать это именно на Си++ :)
Похожие вопросы
- Написать программу на Си
- Помогите написать программу на Си
- Нужно написать программу на СИ++, которая переводит с паскаля на СИ++
- помогите написать программу на Си
- помогите написать программу на Си
- оч срочно нужна помощь!!!!надо написать программу на си для задачи
- Помогите плиз написать программу(язык Си)
- написать программу на си
- Написать программу на Си
- помогите написать программу на си