Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# Построить программу для работы со структурами - правильными дробями https://www.cyberforum.ru/ csharp-beginners/ thread667111.html
1) Построить программу для работы со структурами-правильными дробями. Структура должна включать соответствующие поля: числитель, знаменатель (целые). Программа должна обеспечивать простейшие функции для работы с данными структурами: сложение, вычитание, умножение, деление, вывод дроби в удобной форме. Функции сделать внешними по отношению к структуре. Составить демонстрационную программу....
В двухмерном массиве вещественных чисел поменять местами строки и столбцы с одинаковыми номерами C#
Текст задачи: В двухмерном массиве вещественных чисел поменять местами строки и столбцы с одинаковыми номерами. double a = new double; a = 3.14; a = 6.134; a = 2.1; a = 1.56; Console.WriteLine("Исходный массив:" + a); int length = a.GetLength(0); //Чтобы упростить код, один раз пишем длину матрицы double...
C# Как вызвать метод в окне интерпретации https://www.cyberforum.ru/ csharp-beginners/ thread667051.html
Как вызвать метод в окне интерпретации в #? Я ввожу метод ReadMatrix(ReadMatrix()) и мне выдается сообщение: Требуется идентификатор что это значит?
C# Построить иерархию классов: организация, страховая компания, нефтегазовая компания Построить иерархию классов. Организация, страховая компания, нефтегазовая компания, завод. https://www.cyberforum.ru/ csharp-beginners/ thread666936.html
Реализовать функцию вычисления суммы двух вещественных чисел C#
Реализовать функцию вычисления суммы двух вещественных чисел.Исходные данные вводятся с клавиатуры.
C# Вычислить значение выражения https://www.cyberforum.ru/ csharp-beginners/ thread666931.html
Вычислить F = m*(m + 1)*(m + 2)*…*n, где m=12, n=15.
C# Вычисление синуса (исправить ошибку в коде) https://www.cyberforum.ru/ csharp-beginners/ thread666919.html
Где я сделала ошибку в коде ? Не правильно вычисляет синус, хотя по формуле всё правильно сделала. Использовала сумму ряда. Пожалуйста, не придирайтесь, почему не использовала Math Вот код: using System; namespace Calculator { class Program { static void Main(string args) {
Подскажите материал для работы с Word, а именно форматирование таблиц C#
Здравствуйте. подскажите пожалуйста материал для работы с Word, а именно форматирование таблиц. Очень сильно интересует как узнать длину строки полученной объединением нескольких ячеек по вертикали и как добавить строку в уже существующую ячейку.
C# Определить, число ли введено в строке. Знаки после чисел считать неверным значением using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication18 { class Program { static string Number_NotNumber(string S) https://www.cyberforum.ru/ csharp-beginners/ thread666866.html C# Получить значение по ключу из строки, если в значении может быть символ-разделитель https://www.cyberforum.ru/ csharp-beginners/ thread666863.html
Коллеги, подсобите, пожалуйста. Есть строка, состоящая из пар ключ=значение: email=mail@mail.ru, country=Russia, city=г. Москва, name=Иванов Иван Иванович, address="ул. Садовая-Сухаревская, д. 16", role=Администратор СБ Получаю значения по ключу с помощью функции: static string GetProperty(string source, string propertyName) { string pattern =...
C# Замена всех положительных элементов матрицы на элемент, имеющий минимальное значение
Дана вещественная матрица А(N,M). Составить программу замены всех положительных элементов матрицы на элемент, имеющий минимальное значение. Исходную и скорректированную матрицы напечатать.
C# Нахождение максимального значения элементов матрицы https://www.cyberforum.ru/ csharp-beginners/ thread666791.html
Дана вещественная матрица А(N,M). Составить программу нахождения максимального значения элементов матрицы и выделения элементов, имеющих это максимальное значение.
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
0

Обработка исключений в классе комплексных чисел, в котором реализована операция деления - C# - Ответ 3539312

09.10.2012, 17:34. Показов 1869. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
В общем имеется класс комплексных чисел. у него реализована операция деления, которая ген. исключение, если второй параметр = 0.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Complex
{
//...
        public static Complex operator /(Complex z1, Complex z2)
        {
            if (z2.Absolute == 0) throw new DivideByZeroException(); 
            return new Complex
                (
                    (z1.re_z * z2.re_z + z1.im_z * z2.im_z) / (Math.Pow(z2.re_z, 2) + Math.Pow(z2.im_z, 2)),
                    (z1.im_z * z2.re_z - z1.re_z * z2.im_z) / (Math.Pow(z2.re_z, 2) + Math.Pow(z2.im_z, 2))
                );
        }
//...
}
Есть класс, который является списком этих чисел, который не может превысить макс свою длину, если
превышает, то кидается исключение, и т.к. в нем определен индексатор, то и для обращения к элементу, нах. за границами, тоже кидается исключение.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class ListOfComplex
{
//...
        private List<Complex> lc;
        private static readonly int MaxLengthList;
 
        static ListOfComplex()
        {
            Console.WriteLine("static ListOfComplex()");
            MaxLengthList = 10;
        }
 
        public ListOfComplex(params Complex[] list)
        {
            if(list.Length > MaxLengthList) 
                throw new ListExceedTheDimensionsException
                    (
                        "Размер списка не может быть больше 10",
                        "Инициализация списка большим количеством элементов",
                        DateTime.Now
                    );
            lc = new List<Complex>(list);
        }
 
        public void Add(Complex z)
        {
            if(lc.Count == MaxLengthList) 
                throw new ListExceedTheDimensionsException
                    (
                        "Размер списка не может быть больше 10",
                        "Список переполнен",
                        DateTime.Now
                    );
            lc.Add(z);
        }
 
        public Complex this[int index]
        {
            get 
            {
                if (0 <= index && index < lc.Count)
                    return lc[index];
                else throw new Exception("Индекс находится за пределами массива!");//return null;
            }
            set 
            {
                if (0 <= index && index < lc.Count)
                    lc[index] = value;
                else throw new Exception("Индекс находится за пределами массива!");
            }
        }
//...
}
и есть еще один класс считывающий файл и записывающий, собственно там всякие возможные исключения появляются

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    static class ComplexInOut 
    {
        public static void ReadList(String file_name, ListOfComplex list)
        {
            FileStream fin;
            fin = new FileStream(file_name, FileMode.Open);
            StreamReader __fin = new StreamReader(fin);
            Complex z;
            string str_z;
            while((str_z = __fin.ReadLine()) != null)
            {
                if(!Complex.TryParse(str_z, out z))
                {
                    Console.WriteLine("Комплексное число записано некорректно!");
                    return;
                }
                list.Add(z);
            }
            __fin.Close();
        }
        public static void WriteList(String file_name, ListOfComplex list)
        {
            FileStream fout;
            fout = new FileStream(file_name, FileMode.Create);
            StreamWriter __fout = new StreamWriter(fout);
            for (int i = 0; i < list.LengthList; i++)
                __fout.WriteLine(list[i]);
            __fout.Close();
        }
    }
есть основная функция

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        static void Main(string[] args)
        {
            ListOfComplex __list = new ListOfComplex();
                while (true)
                {
                    switch (Menu())
                    {
                        case 1: /*Считать файл в список (ReadList)*/ break;
                        case 2: /*Записать файл в список (WriteList)*/ break;
                        case 3: /*Добавить новый элемент в список*/ break;
                        //...
                        case 12: /*Произвести мат. операции(в том числе и опер. деления)*/ break;
                        case 13: return;
                        default: Console.WriteLine("Вводить числа надо от 1 до 13"); break;
                    }
                }
        }
Вопрос
1. Для класса ComplexInOut лучше производить обработку внутри него или внутри функции main?
2.В maine есть несколько caseов, внутри каждого писать try-catch или весь switch поместить в try или ... цикл while(true) в try? Как правильней? Что я должен сделать при каждом, мною описанном выше исключении? Как-то обработать и продолжить работу? Так делают? И как к примеру? Или написать какое-то сообщение и завершить выполнение программы?

Вернуться к обсуждению:
Обработка исключений в классе комплексных чисел, в котором реализована операция деления C#
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2012, 17:34
Готовые ответы и решения:

Реализация деления комплексных чисел
определить функцию принимающую в качестве аргумента две пары , соответствующие , комплексным числам...

Работа с функциями в классе комплексных чисел
Помогите пожалуйста прописать оставшийся код. Таким он работает, но вроде как ответы не правильные...

Нужно исправить ошибки в классе комплексных чисел
Мой мозг породил нечто ужасное к ночи, и оно не желает работать. Задание из рода &quot;Бред...

Как ввести операцию сложения в классе комплексных чисел?
Всем привет, уже долго мучаюсь, ничего не получается Собственно, вопрос в заглавии.. Видела...

0
09.10.2012, 17:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2012, 17:34
Помогаю со студенческими работами здесь

Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел
Доброго времени суток. Помогите разобраться с перегрузкой метода. Суть в том, что необходимо...

Метод или операция не реализована
public partial class Form1 : Form { public class bazovyi { ...

Метод или операция не реализована
Хочу сделать проверку на то, вводит ли пользователь число таким образом: private int...

Метод или операция не реализована
Пытаюсь в dataSet вывести только те строки, где Статус_пользователя = king таким образом: ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru