Если первое число массива положительное, то последующие умножить на это число, если отрицательное, то поделить - C#

Узнай цену своей работы

Формулировка задачи:

Из массива А(12) составить новый, включив в него числа, принадлежащие интервалу [-8;2], причем, если первое число оказалось положительным, то все последующие умножить на это число, если отрицательным, то поделить. Результат в консоле.
Первая часть есть,помогите остальное
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Lbbb3
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = new int[10];
            Random rnd = new Random();
            Console.WriteLine("Первый массив:");
            for (int i = 0; i < 10; i++)
            {
                arr[i] = rnd.Next(-10, 10);
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine("\nВторой массив");
            var newArr = arr.Where(a => a >= -8 && a <= 2).ToArray();
            foreach (int s in newArr) Console.Write(s + " ");
            Console.ReadLine();
        }
    }
}

Решение задачи: «Если первое число массива положительное, то последующие умножить на это число, если отрицательное, то поделить»

textual
Листинг программы
using System;
using System.Data;
using System.Linq;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btCalculate_Click(object sender, EventArgs e)
        {
            Random r = new Random();
 
            int[] input = new int[12];
            for (int i = 0; i < input.Length; i++)
                input[i] = r.Next(-10, 10);
 
            int[] result = input.Where(i => i >= -8 && i <= 2).ToArray();
 
            int first = result[0];
            bool positiveFirst = first >= 0;
 
            for (int i = 1; i < result.Length; i++)
            {
                if (positiveFirst) result[i] *= first;
                else result[i] /= first;
            }
 
            string message = "Исходный массив: \n";
            foreach (var item in input)
                message += $"{item.ToString()}\n";
 
            message += "Результат: \n";
            foreach (var item in result)
                message += $"{item.ToString()}\n";
 
            MessageBox.Show(message);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы