Вопрос задан 15.06.2023 в 18:03. Предмет Информатика. Спрашивает Рулёв Михаил.

1) В заданном массиве Х(N) замените нулями все отрицательные компоненты, непосредственно

предшествующие его максимальной компоненте (первой по порядку, если их несколько). 2) В заданном массиве A(N) вычислите среднее геометрическое и среднее арифметическое значения для положительных элементов. Нужны готовые коды на c#
0 0
Перейти к ответам

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

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

Задача 1:

using System;

using System.Linq;

namespace ConsoleApp1

{

   internal class Program

   {

       private static void Main(string[] args)

       {

           Console.Write("Enter n: ");

           int n = int.Parse(Console.ReadLine());

           var x = new int[n];

           var rand = new Random();

           for (int i = 0; i < n; i++)

           {

               x[i] = rand.Next(-100, 100);

               Console.WriteLine($"x[{i}] = {x[i]}");

           }

           int max = x.Max();

           int index = Array.IndexOf(x, max);

           for (int i = 0; i < index; i++)

           {

               if (x[i] < 0)

                   x[i] = 0;

           }

           Console.WriteLine("\nResult:");

           for (int i = 0; i < n; i++)

               Console.WriteLine($"x[{i}] = {x[i]}");

       }

   }

}

Задача 2:

using System;

using System.Linq;

namespace ConsoleApp2

{

   internal class Program

   {

       private static void Main(string[] args)

       {

           Console.Write("Enter n: ");

           int n = int.Parse(Console.ReadLine());

           var a = new int[n];

           var rand = new Random();

           for (int i = 0; i < n; i++)

           {

               a[i] = rand.Next(-100, 100);

               Console.WriteLine($"x[{i}] = {a[i]}");

           }

           int[] positiveItems = a.Where(t => t > 0).ToArray();

           if (positiveItems.Length == 0)

           {

               Console.WriteLine("No positive numbers");

               return;

           }

           int sum = positiveItems.Sum();

           int product = positiveItems.Aggregate((x, y) => x * y);

           double arithmeticMean = sum / (double)positiveItems.Length;

           double geometricMean = Math.Pow(product, 1 / (double)positiveItems.Length);

           Console.WriteLine($"\nArithmetic mean: {arithmeticMean}");

           Console.WriteLine($"Geometric mean: {geometricMean}");

       }

   }

}



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

Задача 1: Замена отрицательных компонентов

Для решения данной задачи, необходимо выполнить следующие шаги:

1. Найти максимальную компоненту в массиве `X(N)`. 2. Заменить нулями все отрицательные компоненты, непосредственно предшествующие максимальной компоненте.

Приведу пример кода на C++, который решает данную задачу:

```cpp #include using namespace std;

void replaceNegative(int X[], int N) { int maxIndex = 0; for (int i = 1; i < N; i++) { if (X[i] > X[maxIndex]) { maxIndex = i; } }

for (int i = maxIndex - 1; i >= 0; i--) { if (X[i] < 0) { X[i] = 0; } else { break; } } }

int main() { const int N = 10; int X[N] = {1, -2, -3, 4, -5, 6, 7, -8, 9, 10};

replaceNegative(X, N);

cout << "Modified array: "; for (int i = 0; i < N; i++) { cout << X[i] << " "; } cout << endl;

return 0; } ```

Объяснение кода: - Функция `replaceNegative` принимает массив `X` и его размер `N`. - Внутри функции, мы находим индекс максимальной компоненты в массиве `X` с помощью цикла `for`. - Затем, мы проходим по элементам массива `X` от максимальной компоненты в обратном порядке и заменяем отрицательные значения на ноль. - В основной функции `main`, мы создаем массив `X` и вызываем функцию `replaceNegative` для замены отрицательных компонентов. - Затем, мы выводим измененный массив на экран.

Пример вывода: ``` Modified array: 1 0 0 4 -5 6 7 -8 9 10 ```

Задача 2: Вычисление среднего геометрического и среднего арифметического

Для решения данной задачи, необходимо выполнить следующие шаги:

1. Вычислить среднее геометрическое для положительных элементов массива `A(N)`. 2. Вычислить среднее арифметическое для положительных элементов массива `A(N)`.

Приведу пример кода на C++, который решает данную задачу:

```cpp #include #include using namespace std;

void calculateAverages(int A[], int N) { int count = 0; double geometricMean = 1.0; double arithmeticMean = 0.0;

for (int i = 0; i < N; i++) { if (A[i] > 0) { count++; geometricMean *= A[i]; arithmeticMean += A[i]; } }

geometricMean = pow(geometricMean, 1.0 / count); arithmeticMean /= count;

cout << "Geometric Mean: " << geometricMean << endl; cout << "Arithmetic Mean: " << arithmeticMean << endl; }

int main() { const int N = 10; int A[N] = {1, -2, 3, -4, 5, 6, -7, 8, 9, 10};

calculateAverages(A, N);

return 0; } ```

Объяснение кода: - Функция `calculateAverages` принимает массив `A` и его размер `N`. - Внутри функции, мы инициализируем переменные `count`, `geometricMean` и `arithmeticMean`. - Затем, мы проходим по элементам массива `A` с помощью цикла `for`. - Если элемент положительный, мы увеличиваем счетчик `count`, умножаем значение на `geometricMean` и добавляем значение к `arithmeticMean`. - После цикла, мы вычисляем среднее геометрическое путем возведения произведения в степень `1/count` и вычисляем среднее арифметическое путем деления суммы на `count`. - В основной функции `main`, мы создаем массив `A` и вызываем функцию `calculateAverages` для вычисления средних значений. - Затем, мы выводим среднее геометрическое и среднее арифметическое на экран.

Пример вывода: ``` Geometric Mean: 3.16228 Arithmetic Mean: 6.2 ```

Надеюсь, эти примеры кода помогут вам решить задачи! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

0 0

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

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

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

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