Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2019, 18:04   #1
Nikita2019
Пользователь
 
Регистрация: 25.01.2019
Сообщений: 26
По умолчанию Сможете дорешать задачку мне пожалуйста?

У Вас есть N камней с массами W1, W2 , … WN. Требуется разложить камни на 2 кучки так, чтобы разница масс этих кучек была минимальной. Решить с помощью файлом, вся информация берется из файла и складывается в другие файлы. c#

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace ConsoleApp24
{
    class Program
    {
 
        static void Main(string[] args)
        {
            double Sum = 0;
            foreach (string line in File.ReadLines("Input.txt"))
            {
                string[] parts = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                foreach (string str in parts)
                {
                    Sum += double.Parse(str);
                }
            }
            double One = Sum / 2;
            double Two = Sum - Math.Round(One);
 
            if (One >= Two)
            {
                try
                {
                    double Ruse1 = One - Two;
                    StreamWriter Ruse0 = new StreamWriter("Output.txt");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Ruse0.WriteLine($"Результат минимальной разницы между двумя кучками камней:  {Ruse1}.");
                    Ruse0.Close();
                    Console.WriteLine($"Результат минимальной разницы между двумя кучками камней:  {Ruse1}.");
                }
                finally
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("В файл <<Output.txt>> успешно записан ответ.");
                }
            }
            else if (One <= Two)
            {
                try
                {
                    double Ruse2 = Two - One;
                    StreamWriter Ruse1 = new StreamWriter("Output.txt");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Ruse1.WriteLine($"Результат минимальной разницы между двумя кучками камней:  {Ruse2}.");
                    Ruse1.Close();
                    Console.WriteLine($"Результат минимальной разницы между двумя кучками камней:  {Ruse2}.");
                }
                finally
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("В файл <<Output.txt>> успешно записан ответ.");
                }
                Console.ReadKey();
            }
        }
    }
}
Nikita2019 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загадайте мне задачку, пожалуйста Chinovnik Паскаль, Turbo Pascal, PascalABC.NET 21 24.01.2014 12:19
Народ я знаю вы сможете помочь мне!!! DrDre9991 Паскаль, Turbo Pascal, PascalABC.NET 2 08.02.2011 21:32
Подскажите пожалуйста, как дорешать задачку! Mashutik25 Помощь студентам 0 30.10.2009 22:26
Сделайте мне, пожалуйста, задачку про урожайность, плиз! BeaU Паскаль, Turbo Pascal, PascalABC.NET 1 05.06.2009 12:35
Сделайте, мне, пожалуйста, задачку на условный оператор BeaU Паскаль, Turbo Pascal, PascalABC.NET 2 03.06.2009 17:35