


Кто может помочь задачей по C#
. Написать программу:
•заполнения массива целыми числами: 6, 8, 12, 86, 0, -5, 8, 9;
•нахождения суммы этих чисел;
•нахождения произведения этих чисел (с точностью до десятичных знаков);
•деления произведения этих чисел на сумму этих чисел (с точностью до десятичных знаков).
100р имобилайзеру или такой код (рабочий =)
using System;
using System.Linq;
namespace q177117693
{
class MainClass
{
public static void Main (string[] args)
{
try {
Console.Write("array:");
int[] a = Array.ConvertAll(
Console.ReadLine().Split(new char[] {' ', ','}, StringSplitOptions.RemoveEmptyEntries),
x => Int32.Parse(x)
);
long sum = a.Sum();
long mul = a.Aggregate((x, y) => x * y);
Console.WriteLine("Sum:{0}\nMul:{1}\nDiv:{2}", sum, mul, mul/sum);
}
catch(Exception e) {
Console.WriteLine ("error:" + e);
}
}
}
}
Ввод сделан с клавы т. к. понятное дело что при одном из нулей в массиве произведение = 0, соотв. достаточно посчитать только сумму.
Если исходить из этого получается вообще так (решение в одну строчку)
using System;
using System.Linq;
namespace q177117693
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine("Sum:{0}\nMul:0\nDiv:0", (new int[] {6, 8, 12, 86, 0, -5, 8, 9}).Sum());
}
}
}

var m = new int[] { 6, 8, 12, 86, 0, -5, 8, 9 };
int sum = 0; foreach (int x in m) sum += x;
double pro = 1; foreach (int x in m) pro *= x;
Console.WriteLine(" Sum = {0}\n Pro = {1:N1}\n Pro/Sum = {2:N1}", sum, pro, sum / pro);
Это же азы азов
Сотня рэ