Как можно сделать ввод 3 переменных в одной строке? - C#
Формулировка задачи:
Как можно сделать ввод 3 переменных в одной строке, чтобы программа была компактней?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TaskSix
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите x1 = ");
double a = double.Parse(Console.ReadLine());
Console.Write("Введите y1 = ");
double b = double.Parse(Console.ReadLine());
Console.Write("Введите z1 = ");
double c = double.Parse(Console.ReadLine());
Console.Write("Введите x2 = ");
double d = double.Parse(Console.ReadLine());
Console.Write("Введите y2 = ");
double e = double.Parse(Console.ReadLine());
Console.Write("Введите z2 = ");
double f = double.Parse(Console.ReadLine());
double x = (a - d) / 2;
double y = (b - e) / 2;
double z = (c - f) / 2;
Console.WriteLine("x = " + x);
Console.WriteLine("y = " + y);
Console.WriteLine("z = " + z);
Console.ReadKey();
}
}
}Решение задачи: «Как можно сделать ввод 3 переменных в одной строке?»
textual
Листинг программы
Console.Write("a b c d e f: "); // вводим переменные одной строкой через пробел
var s = Console.ReadLine();
var numbers = s.Split(' ').Select(n => double.Parse(n)).ToArray();
Func<int, int, double> solve = (i1, i2) => (numbers[i1] - numbers[i2]) / 2;
var format = "x = {0}, y = {1}, z = {2}";
Console.Write(format, solve(0, 3), solve(1, 4), solve(2, 5));