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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2011, 14:40   #1
Ksenia Yudina
 
Аватар для Ksenia Yudina
 
Регистрация: 18.11.2010
Сообщений: 3
По умолчанию Решение квадрат. уравнения на С#

Здравствуйте, не нашла тему в помощи по С # .. но решила рискнуть:
код, реализующий подробное решение, не корректен и плох (try-catch)..кроме того, исполняет ошибки в случае А=0 . Как следует его оптимизировать с толком?
___
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace квадрат
{
    class Program
    {
        static void Main(string[] args)
        {
            int A, B, C, D;
            try
            {
                Console.Write("A = ");
                A = Convert.ToInt32(Console.ReadLine());
                Console.Write("B = ");
                B = Convert.ToInt32(Console.ReadLine());
                Console.Write("C = ");
                C = Convert.ToInt32(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("Данные недопустимого формата"); Console.ReadLine();
                return;
            }
            if (A == 0) if
                 (B == 0) if (C == 0)
            {
                Console.WriteLine("x принимает любое значение числового множества"); Console.ReadLine();
                return;

             }

            if (A == 0)
            { 
                Console.WriteLine("x = {0}", -C / B); Console.ReadLine();
                return;
               
            }
             D = B * B - 4 * A * C;
            if (D == 0)
                Console.WriteLine("x = {0}", -B / 2.0 / A);
            else if (D > 0)
                Console.WriteLine("x1 = {0}\nx2 = {1}", (-B + Math.Sqrt(D)) / 2 / A, (-B - Math.Sqrt(D)) / 2 / A);
            else
                Console.WriteLine("x1 = ({0}+{1})\nx2 = ({0}-{1})", -B / 2.0 / A, Math.Sqrt(-D) / 2 / A);
            Console.ReadLine();

        }
       
    }
}

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 22.09.2011 в 15:03.
Ksenia Yudina вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
решение уравнения Артл Помощь студентам 1 20.05.2011 03:48
Решение уравнения Killep Помощь студентам 1 18.05.2011 22:59
Решение уравнения Патагон3000 Помощь студентам 0 04.03.2010 19:22
Решение уравнения Datrav Паскаль, Turbo Pascal, PascalABC.NET 2 06.06.2008 08:23