Вопрос задан 05.07.2023 в 17:24. Предмет Информатика. Спрашивает Епифанцева Алиса.

Ввести одномерный массив A из N элементов. Вычислить Srg– среднее геометрическое положительных

элементов массива. Заменить на Srg первый элемент массива. Массив вывести до и после преобразования. С++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смирнова Соня.

Код программы:

#include <iostream>

#include <cstdlib>

#include <stdio.h>

#include <fstream>

#include <windows.h>

#include<locale>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

double* A, Srg, proizv = 1;

int kol = 0, i, N;

cout << "Введите количество элементов" << endl;

cin >> N;

A = (double*)malloc(N * sizeof(double));

cout << "Введите массив: " << endl;

for (i = 0; i < N; i++)

 cin >> A[i];

for (i = 0; i < N; i++)

 if (A[i] > 0) {

  proizv = proizv * A[i];

  ++kol;

 }

Srg = pow(proizv, 1./kol);

cout << "Исходный массив: " << endl;

for (i = 0; i < N; i++)

 cout<< A[i] << ' ';

cout << '\n';

cout << "Измененный массив: " << endl;

A[0] = Srg;

for (i = 0; i < N; i++)

 cout << A[i] << ' ';

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример кода на C++, который выполняет описанные вами действия:

cpp
#include <iostream> #include <cmath> int main() { int N; std::cout << "Введите размер массива: "; std::cin >> N; if (N <= 0) { std::cout << "Размер массива должен быть положительным!" << std::endl; return 1; } double *A = new double[N]; // Ввод массива std::cout << "Введите элементы массива:" << std::endl; for (int i = 0; i < N; ++i) { std::cin >> A[i]; } // Вычисление среднего геометрического положительных элементов double Srg = 1.0; int countPositive = 0; for (int i = 0; i < N; ++i) { if (A[i] > 0) { Srg *= A[i]; countPositive++; } } if (countPositive > 0) { Srg = std::pow(Srg, 1.0 / countPositive); } else { std::cout << "В массиве нет положительных элементов!" << std::endl; delete[] A; return 1; } // Замена первого элемента массива на Srg A[0] = Srg; // Вывод массива до преобразования std::cout << "Массив до преобразования:" << std::endl; for (int i = 0; i < N; ++i) { std::cout << A[i] << " "; } std::cout << std::endl; // Вывод массива после преобразования std::cout << "Массив после преобразования:" << std::endl; for (int i = 0; i < N; ++i) { std::cout << A[i] << " "; } std::cout << std::endl; delete[] A; return 0; }

Скопируйте этот код в среду разработки C++, скомпилируйте и выполните, чтобы увидеть результаты. Программа попросит вас ввести размер массива и его элементы, затем выведет массив до и после преобразования.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос