Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите написать код на c#

hhhhhhhhhtttt Ученик (74), закрыт 2 месяца назад
Лучший ответ
Ксения Райт Высший разум (101321) 3 месяца назад
1) Значения aᵢ и bᵢ откуда берутся?
2) Какого типа все эти значения?
3) Требуется ли их хранить в виде массивов?
На эти вопросы я отвечаю так:
1) Если N - достаточно большое число, то N пар как инициализировать в программе, так и вводить с клавиатуры достаточно хлопотно и в таком случае надо придумать что-то в виде генерации двух случайных последовательностей. Надо также осуществить печать обеих этих последовательностей, иначе непонятно будет откуда что взялось.
Но если N - число небольшое, то N пар легко ввести с экрана.
2) Тип для переменных а и b лучше выбрать вещественным, а не целым, потому что он гибче - вещественные числа ведь могут быть в том числе и целыми.
3) Если число N небольшое и переменные а и b вводятся с клавиатуры, то никакие массивы здесь, естественно, не обязательны! Не нужны здесь, разумеется, и никакие методы работы с массивами как и сами эти массивы, а вот работать с вводом значения (или инициацией) переменной N совершенно необходимо!
Вот пример:
 using System;  
namespace New_Project
{ class Program
{ public static void Main()
{ int n, N;
double a, b, c, mini;
Console.Write("N: ");
N = int.Parse(Console.ReadLine());
var s = Console.ReadLine().Split();
mini = double.Parse(s[0]) - double.Parse(s[1]);
for (n = 1; n < N; ++n)
{
var t = Console.ReadLine().Split();
c = double.Parse(t[0]) - double.Parse(t[1]);
if (c < mini) mini = c;
}
Console.WriteLine("Minimal difference: " + mini);
}
}
}
Числа последовательностей a и b вводятся попарно (по два числа в строчке через пробел):
Остальные ответы
Татьяна Просветленный (36408) 3 месяца назад
 using System; 
using System.Linq;

class Program
{
static void Main()
{
// Пример массивов a и b
int[] a = { 3, 8, 15, 1 };
int[] b = { 2, 5, 7, 4 };

// Находим минимальную разницу
int minDifference = a.Zip(b, (ai, bi) => ai - bi).Min();

Console.WriteLine($"Минимальная разница: {minDifference}");
}
}
Никита Меновщиков Профи (923) 3 месяца назад
 using System; 

class Program
{
static void Main()
{
// Исходные массивы
int[] a = { 1, 3, 5, 7, 9 }; // Пример массива (a1, a2, ..., aN)
int[] b = { 2, 4, 6, 8, 10 }; // Пример массива (b1, b2, ..., bN)

// Проверка на одинаковую длину массивов
if (a.Length != b.Length)
{
Console.WriteLine("Массивы должны быть одинаковой длины.");
return;
}

// Инициализируем минимальное значение разности большим числом
int minDifference = int.MaxValue;

// Поиск минимальной разности
for (int i = 0; i < a.Length; i++)
{
int difference = a[i] - b[i];
if (difference < minDifference)
{
minDifference = difference;
}
}

// Вывод результата
Console.WriteLine("Минимальная разность: " + minDifference);
}
}
Jurijus Zaksas Искусственный Интеллект (453892) 3 месяца назад
Ну вы, ребята, даете... Где сказано, что это целые числа? С чего вы это взяли?
Вот правильный код:

 static T MinDiff(IList a, IList b) where T : INumber 
{
if (a.Count() != b.Count())
throw new ArgumentException("Both collections ought to be of the same size");
if (a.Count() == 0)
throw new ArgumentException("Collections cannot be empty");
return Enumerable.Range(0, a.Count()).Select(i => a[i] - b[i]).Min();
}
Похожие вопросы