Вопрос задан 01.08.2023 в 04:03. Предмет Информатика. Спрашивает Быкова Соня.

Помогите с задачей C#! Ввести одномерный массив , вывести его. Выяснить, какое число в массиве

встретится ранее – положительное или отрицательное (нули не рассматривать). Если положительное – найти в массиве максимальный элемент и возвести его в квадрат, если отрицательное – возвести в квадрат минимальный элемент.
0 0
Перейти к ответам

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

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

internal class Program
{
    private const bool handfree_ = true; //определяет вручную ли вводятся данные или рандомом

    public static void Main()
    {
        try
        {
            var a = InitArray().ToArray();
            PrintArray(a);

            var positive = IsPositiveFirst(a);
            var k = 0;
            for (var i = 0; i < a.Length; i++)
            {
                if (positive && a[k] < a[i] || !positive && a[k] > a[i])
                    k = i;
            }

            a[k] = a[k] * a[k];
            PrintArray(a);
        }

        catch(Exception e)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine(e);
        }
        finally
        {
            Console.ReadLine();
        }
    }

    public static IEnumerable<int> InitArray()
    {
        var random = new Random(DateTime.Now.Millisecond);
        int n;
        if (handfree_)
            n = random.Next(100);
        else
        {
            Console.Write("n = ");
            n = int.Parse(Console.ReadLine());
        }

        var result = new int[n];

        for (var i = 0; i < result.Length; i++)
        {
            result[i] = handfree_ ? random.Next(-100, 100) : int.Parse(Console.ReadLine());
        }

        return result;
    }

    public static void PrintArray(IEnumerable<int> a)
    {
        Console.Write("Array:");
        foreach (var element in a)
        {
            Console.Write($" {element}");
        }

        Console.WriteLine();
    }

    public static bool IsPositiveFirst(IEnumerable<int> a)
    {
        foreach (var element in a)
        {
            if (element == 0)
                continue;

            return element > 0;
        }

        throw new Exception("Array is empty");
    }
}


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

Конечно, я помогу вам с задачей! Вот пример решения на C#:

csharp
using System; class Program { static void Main() { Console.WriteLine("Введите элементы массива через пробел:"); string input = Console.ReadLine(); // Разбиваем введенную строку на числа и создаем массив string[] numbersArray = input.Split(' '); int[] arr = new int[numbersArray.Length]; for (int i = 0; i < numbersArray.Length; i++) { arr[i] = int.Parse(numbersArray[i]); } // Выводим массив Console.WriteLine("Массив: " + string.Join(", ", arr)); int firstPositiveIndex = -1; int firstNegativeIndex = -1; // Находим индекс первого положительного и отрицательного числа (нули не рассматриваем) for (int i = 0; i < arr.Length; i++) { if (arr[i] > 0 && firstPositiveIndex == -1) { firstPositiveIndex = i; } else if (arr[i] < 0 && firstNegativeIndex == -1) { firstNegativeIndex = i; } } // Возводим в квадрат максимальный элемент, если первое встреченное число было положительным, // и минимальный элемент, если первое встреченное число было отрицательным if (firstPositiveIndex != -1) { int maxElement = int.MinValue; for (int i = 0; i < arr.Length; i++) { if (arr[i] > maxElement) { maxElement = arr[i]; } } Console.WriteLine("Первое встреченное положительное число: " + arr[firstPositiveIndex]); Console.WriteLine("Максимальный элемент массива: " + maxElement); Console.WriteLine("Максимальный элемент в квадрате: " + (maxElement * maxElement)); } else if (firstNegativeIndex != -1) { int minElement = int.MaxValue; for (int i = 0; i < arr.Length; i++) { if (arr[i] < minElement) { minElement = arr[i]; } } Console.WriteLine("Первое встреченное отрицательное число: " + arr[firstNegativeIndex]); Console.WriteLine("Минимальный элемент массива: " + minElement); Console.WriteLine("Минимальный элемент в квадрате: " + (minElement * minElement)); } else { Console.WriteLine("В массиве нет положительных или отрицательных чисел."); } } }

Программа сначала считывает элементы массива, разбивает введенную строку на числа и создает одномерный массив arr. Затем она ищет индексы первого положительного и отрицательного числа (пропуская нули) и затем находит максимальный или минимальный элемент массива в зависимости от типа первого встреченного числа. Используя условные конструкции, она выводит результаты на экран.

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

0 0

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

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

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

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