Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.05.2018
Сообщений: 214

Должно быть везде одинаково, но f2, g2, h2 =-1. Почему?

09.09.2019, 14:57. Показов 880. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите , пожалуйста! Простой If
Должно быть везде одинаково, но f2, g2, h2 =-1. Почему?


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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp2
{
    class Program
    {
 
        static double f1(double x, double c, double a, double b)
        {
            // решение с помощью команд ветвления в полной форме
            double F;
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            else
                F = (b * x) / (c - a);
            return F;
        }
        static double f2(double x, double c, double a, double b)
        {
            double F = -1;
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            if (c == 0 && x == 0)
                F = (b * x) / (c - a);
            return F;
        }
    
    static void g1(double x, double c, double a, double b, ref double y)
        {
            // решение с помощью команд ветвления в полной формеі
            double F;
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            else
                F = (b * x) / (c - a);
            y = F;
        }
        static void g2(double x, double c, double a, double b, ref double y)
        {
            // решение с помощью команд ветвления в сокращенной форме
            double F = -1;
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            if (c == 0 && x == 0)
                F = (b * x) / (c - a);
            y = F;
        }
        static void h1(double x, double c, double a, double b, out double y)
        {
            
            double F;
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            else
                F = (b * x) / (c - a);
            y = F;
        }
        static void h2(double x, double c, double a, double b, out double y)
        {
            // решение с помощью команд ветвления в сокращенной форме
            double F =-1;
 
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            if (c == 0 && x == 0)
                F = (b * x) / (c - a);
            y = F;
        }
 
 
        static void Main(string[] args)
        {
            System.Console.Write("x = ");
            double x = Convert.ToDouble(System.Console.ReadLine());
            System.Console.Write("a = ");
            double a = Convert.ToDouble(System.Console.ReadLine());
            System.Console.Write("b = ");
            double b = Convert.ToDouble(System.Console.ReadLine());
            System.Console.Write("c = ");
            double c = Convert.ToDouble(System.Console.ReadLine());
            System.Console.WriteLine("F1 = " + f1(x, c, a, b));
            System.Console.WriteLine("F2 = " + f2(x, c, a, b));
            System.Console.WriteLine();
            // второй способ - информацию получаем в качестве параметра ссылки
            double y1 = 0;
            double y2 = 0;
            g1(x, c,a,b, ref y1);
            g2(x, c, a, b, ref y2);
            System.Console.WriteLine("G1 = " + y1);
            System.Console.WriteLine("G2 = " + y2);
            System.Console.WriteLine();
            // третий способ - информацию получаем как выходной параметр
            double z1;
            double z2;
            h1(x, c, a, b, out z1);
            h2(x, c, a, b, out z2);
            System.Console.WriteLine("H1 = " + z1);
            System.Console.WriteLine("H2 = " + z2);
            System.Console.WriteLine();
            Console.ReadLine();
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.09.2019, 14:57
Ответы с готовыми решениями:

Почему везде false ? Так не должно быть
#include &quot;iostream&quot; using namespace std; struct Animal{ int x, y; }; void printMap(char a); bool turnSheep(int), turnWolf(); ...

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому, что больше некому. Поэтому некоторые,...

как должно быть?почему система так видит второй жесткий?
Неважно где,но попался комп с небольшими проблемами.А проблема в том,что система определяет второй жесткий,но не видит его...

3
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
09.09.2019, 15:18
Пользуйтесь тегами, не читабельно вообще.
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
09.09.2019, 15:36
Taras99, как много способов))

26 51 75 строки присваивается -1
возможно из за этого
C#
1
double F = -1;
и если алгоритм один и тот же, то лучше сделать так

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp2
{
    class Program
    {
 
        static double f1(double x, double c, double a, double b)
        {
            // решение с помощью команд ветвления в полной форме
            double F;
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            else
                F = (b * x) / (c - a);
            return F;
        }
        static double f2(double x, double c, double a, double b)
        {
            double F;
            if (c < 0 && x != 0)
                F = -a * x - c;
            else if (c > 0 && x == 0)
                F = (x - a) / -c;
            if (c == 0 && x == 0)
                F = (b * x) / (c - a);
            return F;
        }
    
    static void g1(double x, double c, double a, double b, ref double y)
        {
            // решение с помощью команд ветвления в полной формеі
 
            y = f1(x, c, a, b);
        }
        static void g2(double x, double c, double a, double b, ref double y)
        {
            // решение с помощью команд ветвления в сокращенной форме
            y = f2(x, c, a, b);
        }
        static void h1(double x, double c, double a, double b, out double y)
        {
            y = f1(x, c, a, b);
        }
        static void h2(double x, double c, double a, double b, out double y)
        {
            // решение с помощью команд ветвления в сокращенной форме
            y = f2(x, c, a, b);
        }
 
 
        static void Main(string[] args)
        {
            System.Console.Write("x = ");
            double x = Convert.ToDouble(System.Console.ReadLine());
            System.Console.Write("a = ");
            double a = Convert.ToDouble(System.Console.ReadLine());
            System.Console.Write("b = ");
            double b = Convert.ToDouble(System.Console.ReadLine());
            System.Console.Write("c = ");
            double c = Convert.ToDouble(System.Console.ReadLine());
            System.Console.WriteLine("F1 = " + f1(x, c, a, b));
            System.Console.WriteLine("F2 = " + f2(x, c, a, b));
            System.Console.WriteLine();
            // второй способ - информацию получаем в качестве параметра ссылки
            double y1 = 0;
            double y2 = 0;
            g1(x, c,a,b, ref y1);
            g2(x, c, a, b, ref y2);
            System.Console.WriteLine("G1 = " + y1);
            System.Console.WriteLine("G2 = " + y2);
            System.Console.WriteLine();
            // третий способ - информацию получаем как выходной параметр
            double z1;
            double z2;
            h1(x, c, a, b, out z1);
            h2(x, c, a, b, out z2);
            System.Console.WriteLine("H1 = " + z1);
            System.Console.WriteLine("H2 = " + z2);
            System.Console.WriteLine();
            Console.ReadLine();
        }
    }
}
а ещё можно использовать одинаковые имена для функций (f1, g1, h1 = f1) и (f2, g2, h2 = f2)
с разными параметрами
будет вызываться нужный метод
https://metanit.com/sharp/tutorial/3.5.php
0
1524 / 515 / 126
Регистрация: 09.01.2018
Сообщений: 1,614
09.09.2019, 20:10
Цитата Сообщение от Taras99 Посмотреть сообщение
Должно быть везде одинаково, но f2, g2, h2 =-1. Почему?
Не должно быть везде одинаково. Во втором методе вы не рассматриваете все случаи и возможно ни одно из условий не выполняется, соотв. F не присваивается нового значения:

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
       static double f1(double x, double c, double a, double b)
        {
            // решение с помощью команд ветвления в полной форме
 
            double F; 
            if (c < 0 && x != 0) //если условие выполняется
                F = -a * x - c;
 
            else if (c > 0 && x == 0) //иначе если другое условие выполняется
                F = (x - a) / -c;
 
            else //ни одно из условий выше не выполняется (все остальные случаи)
                F = (b * x) / (c - a);
 
            return F;
        }
 
 
        static double f2(double x, double c, double a, double b)
        {
            double F = -1;
 
            if (c < 0 && x != 0) //если условие выполняется
                F = -a * x - c;
 
            else if (c > 0 && x == 0) //иначе, если другое условие выполняется
                F = (x - a) / -c;
 
            if (c == 0 && x == 0) //если условие выполняется
                F = (b * x) / (c - a);
 
/*
 но еще остались случаи  с < 0 && x == 0, c > 0 && x != 0, c == 0 && x != 0
 
*/
            return F; //ни одно из условий не выполнялось и F равен -1
 
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2019, 20:10
Помогаю со студенческими работами здесь

Почему отображается только одна кнопка, когда должно быть две?
&lt;button class=&quot;open-button&quot; onclick=&quot;openForm()&quot;&gt;Регистрация&lt;/button&gt; &lt;button class=&quot;open-button&quot;...

Почему у меня два файла hosts это так должно быть ?
люди подскажите у меня 2 файла hosts это так и должно быть !!!! у меня есть еще вот этот файл в нем написано тоже что и в hosts вот этот...

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

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

Коллеги,в программе должно считать выделенные элементы. Считает программа неправильно(должно быть 69.Подскажитегдеошибка
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; const int maxsize = 15; int i, j, S, a; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru