0 / 0 / 0
Регистрация: 17.04.2019
Сообщений: 5
1

Опишите координационный класс. Класс должен состоять из двух целых чисел k, n (k <n)

04.03.2020, 22:40. Показов 2172. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Опишите координационный класс. Класс должен состоять из двух целых чисел k, n (k <n). Создайте метод, который вычисляет значение по выражению ниже: C (n, k) = n! / ((n-k)! × k!). Перегрузите следующих операторов:
1. перегрузите операторов (>, <) для сравнения двух координационных объектов, сформулируйте, что в результате операции сравниваются значения выражений, рассчитанные для двух объектов;
2. Перегрузите унарного (-) оператора для координационного класса, сформулируйте, что в результате операции значение переменной k будет равным n-k.

Перегрузка второго оператора не выходит, где ошибки и как исправить? С кодом пожалуйста


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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
 
namespace ConsoleApp80
{
    class Uilestiru
    {
        public int k;
        private int n;
        public double fact(int t)
        {
            double f = 1;
            for (int i = 1; i <= t; i++)
                f = f * i;
            return f;
        }
        public double esep()
        {
            double C = fact(n) / (fact(n - k) * fact(k));
            return C;
        }
       
        
        
        public static bool operator <(Uilestiru u1, Uilestiru u2)
        {
            if(u1.esep()<u2.esep()) return true;
            else return false;
           
        }
        public static bool operator >(Uilestiru u1, Uilestiru u2)
        {
            if(u1.esep()>u2.esep()) return true;
            else return false;
        }
        
         
        public static Uilestiru operator -(Uilestiru u1)=>new Uilestiru(u1.n-u1.k);
        
        
        public void vych()
        {
            Console.WriteLine(u1.k+"="+ u1.n-u1.k);
        }
    }
    
    
        class Program
        {
            static void Main()
            {
 
                
                Uilestiru u1 = new Uilestiru (2, 4 );
                Uilestiru u2 = new Uilestiru (4, 5 );
                
                Console.WriteLine("1oe=" + u1.esep());
                Console.WriteLine("2oe=" + u2.esep());
                if(u1>u2)
                Console.WriteLine("u1 bolshe");
                else if (u1<u2)
                Console.WriteLine("u2 bolshe");
                else 
                Console.WriteLine("u1 i u2 ravny");
                
                Uilestiru u3;
                u3 = -u1;
                Console.WriteLine(+u1.k, +u3);
                u1.vych();
                u3.vych();
                Console.ReadKey();
 
            } 
        } 
     }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2020, 22:40
Ответы с готовыми решениями:

Описать класс дробей-рациональных чисел, являющихся отношением двух целых чисел
Описать класс дробей-рациональных чисел, являющихся отношением двух целых чисел. Предусмотреть...

Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел
Каждый разрабатываемый класс должен, как правило, содержать следующие элементы: скрытые поля,...

Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел
Помогите,пожалуйста.. 1)В одномерном массиве, состоящем из п вещественных элементов, вычислить: •...

Класс: Создать класс дробь - рациональных чисел, являющихся отношением двух целых чисел...
Создать класс дробь - рациональных чисел, является отношением двух целых чисел. Определить...

1
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
05.03.2020, 16:12 2
Цитата Сообщение от Marzhan Maken Посмотреть сообщение
где ошибки
обычно когда работаешь на Visual Studio - она сама подчеркивает красной линией где ошибки. В вашем случаи
1) Нет конструктора, принимающего 2 параметра, как следствие написать new Uilestiru (2, 4); вы не можете
2) Не понял что выводит метод vych() но правильней будет так Console.WriteLine(k + "=" + (n - k));
3) На 67 строке кода передаете 2 параметра в Console.WriteLine(), выберете что то одно.
3.1) Если выберете вывод объекта - то получите не то, что ожидали. В идеале надо переопределить метод ToString()
4) Перегрузка унарного -. Часть кода заменяем на => new Uilestiru(u1.n - u1.k, u1.n);
В некоторых местах можно улучшить код, но это пока трогать не будем.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2020, 16:12
Помогаю со студенческими работами здесь

Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел
Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел.Предусмотреть...

Создать класс СПИСОК целых чисел. Разработать класс СТЕК
&quot;Создать класс СПИСОК целых чисел. Разработать класс СТЕК, который вмещает объект класса СПИСОК....

Написать программу, реализующую класс “дробь”, в которой значение дроби определено через структуру двух целых чисел
ПОМОГИТЕ ПОЖАЛУЙСТА! Написать программу реализующую класс “дробь” в которой значение дроби...

Создайте класс, в котором есть ostream& operator<<. Класс должен содержать очередь с приоритетом
Создайте класс, в котором есть ostream&amp; operator&lt;&lt;. Класс должен содержать очередь с приоритетом....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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