Если первое число массива положительное, то последующие умножить на это число, если отрицательное, то поделить - 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);
}
}
}