У меня возникла следующая проблема: я не могу понять, как сравнить два массива и показать разницу между ними или показать, что это галстук. Пожалуйста, помогите с этим упражнением. Код, который у меня есть, не позволяет мне найти разницу в каждом автомобиле. Я не уверен, что мне делать.Как сравнить число в одном массиве с числом в другом массиве и найти разницу? im using C#
В каждой команде под названием Chevy и Ford есть восемь автомобилей. Один автомобиль из каждой команды расправляет своего противника на полосу перетаскивания. Читайте в гоночных временах для восьми автомобилей Chevy, а затем читайте во времена восьми автомобилей Ford. Храните время в массивах под названием Chevy [] и Ford []. Затем укажите победителя каждой пары, указав количество секунд, в которые победил победитель. В конце объявить, какая команда выиграла, на основе которой команда имела наибольшее количество побед. Ниже приведен пример матча.
Введите время для автомобилей Chevy: 5,4 7,2 4,0 9,1 5,8 3,9 6,2 8,1 Введите время для соответствующих автомобилей Ford: 5,8 6,9 3,9 9,2 5,8 3,8 6,0 8,5 И победители: Chevy на 0,4 сек Ford на 0,3 сек. Ford на 0,1 сек. Chevy на 0,1 сек. Tie! Форд на 0,1 сек. Ford на 0.2 сек. Chevy на 0,4 сек. И команда победителей: F O R D!
• Примите гоночные времена для каждого из автомобилей Chevy в массив Chevy [].
• Примите гоночные времена для каждого из автомобилей Ford в массив Ford [].
• Затем объявите автомобиль для каждой гонки, давая выигрышное время в секундах. • Если время идентично, объявите, что гонка была галстуком. • Наконец, объявите, какая команда выиграла матч, предполагая, что связь возможна.
и вот мой код
{
//declare varibles
double[] chevy = new double[8];
double[] ford = new double[8];
int x, y;
double ctotal = 0, chevyaverage = 0;
double ftotal = 0, fordaverage = 0;
double cwin= 0, fwin = 0;
//calculations
//input
for (x = 0; x < 8; x++)
{
Console.Write("Enter time for chevy car " + (x + 1) + ":");
chevy[x] = double.Parse(Console.ReadLine());
}
for (y = 0; y < 8; y++)
{
Console.Write("Enter time for ford car " + (y + 1) + ":");
ford[y] = double.Parse(Console.ReadLine());
}
//this is not working, it keeps coming up as 1
if (chevy[x] < ford[y])
{
cwin = chevy[x] - ford[y];
Console.WriteLine("Chevy won by: " + cwin);
}
else if (ford[y] < chevy[x])
{
fwin = ford[y] - chevy[x];
Console.WriteLine("Ford won by: " + fwin);
}
else
{
Console.WriteLine("Tie!");
}
//output
Console.ReadLine();
}
}
ладно, так что же делает string.format? мы еще ничего не узнали об этом. –
Из документации: «Преобразует значение объектов в строки на основе указанных форматов и вставляет их в другую строку». В принципе, вы можете конкатенировать строки. Вы можете заменить его, используя «Chevy won by» + (ford [i] -chevy [i]); и даст вам тот же результат. –
Я вижу две вещи, которые я сделал не так, сначала я помещал x и y для массивов, когда я должен был положить i, и, как вы сказали, это было с тем, как я вычислял разницу между ними. Благодарю. Это помогло мне узнать еще кое-что, –