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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2010, 08:28   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию C#, непонятная ошибка.

Вот код:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a, b, c;
            double d, x1, x2;
            System.Console.WriteLine("Enter coeffs: ");
            a = System.Console.Read();
            b = System.Console.Read();
            c = System.Console.Read();
            System.Console.ReadLine();
            d = Math.Pow(b, 2) - 4 * a * c;
            System.Console.WriteLine("d = {0}", d);
            if (d < 0)
            {
                System.Console.WriteLine("Корней нет!");
                System.Console.ReadLine();
            }
            if (d == 0)
            {
                x1 = -b / (2 * a);
                System.Console.WriteLine("Один корень: {0}", x1);
                System.Console.ReadLine();
            }
            if (d > 0)
            {
                x1 = (-b - Math.Sqrt(d)) / (2 * a);
                x2 = (-b + Math.Sqrt(d)) / (2 * a);
                System.Console.WriteLine("Первый корень: {0}", x1);
                System.Console.WriteLine("Второй корень: {1}", x2);
            }
        }
    }
}
Почему-то дискриминат при вводе коэффициентов(1, -6,5) равен -7796, хотя корни этого уравнения 5 и 1. Где ошибка?


Так, ладно, с этим разобрался. Теперь другое.
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Enter coeffs: ");
            int a = Convert.ToInt32(System.Console.ReadLine());
            int b = Convert.ToInt32(System.Console.ReadLine());
            int c = Convert.ToInt32(System.Console.ReadLine());
            double d = Math.Pow(b, 2)-4*a*c;
            double x1, x2;
            if (d < 0)
            {
                System.Console.WriteLine("Корней нет!");
                System.Console.ReadLine();
            }
            if (d == 0)
            {
                x1 = -b / (2 * a);
            }
            if (d > 0)
            {
                x1 = (-b - Math.Sqrt(d)) / (2 * a);
                x2 = (-b + Math.Sqrt(d)) / (2 * a);
            }
                System.Console.WriteLine("Первый корень: {0}", x1);
                System.Console.WriteLine("Второй корень: {1}", x2);
        }
    }
}
В последней строке выдаёт какое-то сообщение и не запускается.

Последний раз редактировалось _-Re@l-_; 06.11.2010 в 08:42.
_-Re@l-_ вне форума Ответить с цитированием
Старый 06.11.2010, 08:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
System.Console.WriteLine("Второй корень: {1}", x2);
Ай-яй-яй... Ты обьявил вывод второго параметра, в то время как он у тебя один.
Индексы параметров в WriteLine начинаются с нуля:
Код:
Console.WriteLine("Второй корень: {0}", x2);
а еще лучше
Код:
Console.WriteLine("Первый корень: {0}\nВторой корень: {1}", x1,x2);
P.S. Программу проверил - работает как ты и ожидаешь. VS2010
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2010, 16:39   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Индексы параметров в WriteLine начинаются с нуля:
Аааааа....Я понял, зачем нужен {0} и т.д....
Всё, спасибо, Stilet, тему можно закрыть.
_-Re@l-_ вне форума Ответить с цитированием
Старый 07.11.2010, 14:18   #4
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

Delphi, C#
Профессионал
elja_1989 вне форума Ответить с цитированием
Старый 07.11.2010, 14:26   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от elja_1989 Посмотреть сообщение
Delphi, C#
Профессионал
Куда же без троллей то...
BOBAH13 вне форума Ответить с цитированием
Старый 07.11.2010, 17:14   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Куда же без троллей то...
да нет, Вы не поняли. при чём здесь троллинг?..
Это elja_1989 так тонко подтруннивает над _-Re@l-_!
Что вот теперь, профессионал C# уже знает, как передаются и нумеруются параметры в WriteLine
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная ошибка Vladya Помощь студентам 0 08.05.2010 13:52
(СИ)непонятная ошибка. RZMTZM Помощь студентам 7 04.02.2010 02:49
Непонятная ошибка Juri Помощь студентам 6 07.11.2008 19:28
Непонятная ошибка RealSHELS Общие вопросы Delphi 16 24.10.2008 20:49
Непонятная ошибка Slash Общие вопросы Delphi 6 19.06.2007 14:45