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

Программирование на C#

g g Ученик (95), на голосовании 5 месяцев назад
Татьяна очень тщательно ведет учет своих покупок. В конце месяца ей стало интересно, на какую категорию товаров она потратила больше всего денег. Данные о расходах, которые записывает Татьяна, содержат категорию товара, полную стоимость товара и процент скидки на этот товар. Напишите программу, которая поможет Татьяне.
Входные данные:
Вводится натуральное число n – количество строк с данными о покупках. Далее вводятся n строк, в каждой из которых указаны категория покупки, ее цена (без учета скидки) и скидка в процентах. Гарантируется, что в каждой строке сначала идет название категории (строка из латинских букв), потом пробел, потом цена (натуральное число), потом пробел и скидка (натуральное число).
Выходные данные:
Вывести строку – название категории товара, на которую Ирина потратила больше всего денег с учетом скидок.
Так, например, если программе на вход будут поданы следующие данные:
6
bread 979 55
meat 848 62
fruit 1952 57
clothes 1779 22
taxis 312 38
fruit 1364 7,
то она должна вывести «fruit».

В поле краткого ответа введите строку, которая получается в результате работы программы на входных данных из файла 64
Голосование за лучший ответ
Dians Мастер (2017) 6 месяцев назад
 using System; 
using System.Collections.Generic;

namespace CategoryExpenses
{
class Program
{
static void Main(string[] args)
{
int n = Convert.ToInt32(Console.ReadLine());
Dictionary categories = new Dictionary();

for (int i = 0; i < n; i++)
{
string[] input = Console.ReadLine().Split(' ');
string category = input[0];
int price = Convert.ToInt32(input[1]);
int discount = Convert.ToInt32(input[2].Trim('%'));

if (categories.ContainsKey(category))
{
categories[category] += price * (100 - discount) / 100;
}
else
{
categories.Add(category, price * (100 - discount) / 100);
}
}

int maxExpenses = 0;
string maxCategory = "";

foreach (var entry in categories)
{
if (entry.Value > maxExpenses)
{
maxExpenses = entry.Value;
maxCategory = entry.Key;
}
}

Console.WriteLine(maxCategory);
}
}
}
Сделал ИИ ( Ссылка )
Jurijus ZaksasИскусственный Интеллект (445791) 6 месяцев назад
Сделано в целом правильно, но скучно до ужаса.
Похожие вопросы