Если первое число массива положительное, то последующие умножить на это число, если отрицательное, то поделить - 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д