#c#
#c#
Вопрос:
Итак, у меня такая проблема:
У человека есть
N
магазины в городе. Напишите консольное приложение, которое получает от ввода:
- в первой строке,
N
- следующие
N
строки, каждая из которых содержит прибыль каждого магазина за каждый из триместров года с точностью до 2 десятичных знаков. Числа разделяются одним пробелом.Вывод :
- самый прибыльный триместр;
- самый прибыльный магазин;
Пример:
2 1000.50 2000.00 1000.00 3000.00 500.00 600.00 700.00 800.00
Результат:
4-й триместр: 3800.00 Магазин 1: 7000.50
Теперь о моем вопросе… Я написал некоторый код, но я не знаю, как заполнить матрицу строка за строкой. Вот мой код:
class Pro&ram
{
static void Main(strin&[] ar&s)
{
const int numberOfTrimesters = 4;
int numberOfShops = Convert.ToInt32(Console.ReadLine());
double[,] shopsList = new double[numberOfShops, numberOfTrimesters];
for (int i = 0; i < numberOfShops; i )
{
strin& input = Console.ReadLine();
strin&[] array = input.Split(' ');
double[] shop = new double[array.Len&th];
for (int j = 0; j < array.Len&th; j )
shop[j] = Convert.ToDouble(array[j]);
for (int k = 0; k < numberOfShops; k )
for (int m = 0; m < numberOfTrimesters; m )
shopsList[k, m] = shop[array.Len&th];
}
Проблема в последней строке последней for
.
Комментарии:
1. Вы можете избавиться от
shop
и второго внутреннегоfor
цикла и в первом внутреннем цикле просто сделатьshopList[i, j] = Convert.ToDouble(array[j]);
2. Поскольку массивы проиндексированы с нулевым индексом, допустимыми элементами shop являются
shop[0]
,shop[1]
, …shop[shop.Len&th-1]
. Поскольку shop. Длина == массив. Длинаshop[array.Len&th]
всегда будет выходить за рамки. И если бы это было не так, это всегда был бы один и тот же элемент.3. Большое вам спасибо @Camilo Terevinto. Это работает
4. Да, я знаю, что @IceGlasses. Но я написал это, потому что хотел подчеркнуть, где у меня возникла проблема.
5. Нет проблем 🙂 кстати, вы на правильном пути