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

Нужно сократить код

17.03.2022, 21:32. Показов 582. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В задаче нужно перераспределить переменные x,y,z так чтобы x было наибольшим, y средним, z минимальным.
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
using System;
using System.Numerics;
 
namespace Testing
{
    class Program
    {
        static void Main(string[] args)
        {
            int x, y, z;
            while (true)
            {
                try
                {
                    Console.Write("x: ");
                    x = int.Parse(Console.ReadLine());
                    Console.Write("y: ");
                    y = int.Parse(Console.ReadLine());
                    Console.Write("z: ");
                    z = int.Parse(Console.ReadLine());
                    break;
                }
                catch
                {
                    Console.WriteLine("Неверный формат данных");
                }
            }
            int temp = 0;
 
            if (x < y && x > z)
            {
                temp = x;
                x = y;
                y = temp;
            }
            if (x > y && x < z)
            {
                temp = x;
                x = z;
                z = temp;
                temp = y;
                y = z;
                z = temp;
            }
            if (x < y && x < z)
            {
                if (y > z)
                {
                    temp = x;
                    x = y;
                    y = temp;
                    temp = y;
                    y = z;
                    z = temp;
                }
                else
                {
                    temp = x;
                    x = z;
                    z = temp;
                }
            }
            if (y < z)
            {
                temp = y;
                y = z;
                z = temp;
                temp = x;
                x = y;
                y = temp;
            }
            if (x < y)
            {
                temp = x;
                x = y;
                y = temp;
            }
            Console.WriteLine(x + " " + y + " " + z);
 
        }
    }
}
Мне нужно сократить только блок условий, только без использования тернарных операций, функций, циклов, массивов и пр. Использовать только if - else
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2022, 21:32
Ответы с готовыми решениями:

Нужно сократить программу на С++
Условие такое : Найти по числу z число x такое, что z = ( 2 x + 1) * 2 ^ y для некоторого y. Использовать прибавление на 1, =, &lt;, +, -. ...

Сократить код, переделав if
#include &lt;iostream&gt; #include &lt;math.h&gt; #pragma hdrstop #pragma argsused using namespace std; int main(int argc, char* argv) ...

Сократить код на два символа
сокртить код #include &lt;fstream&gt; main(int n) { std::fstream I(&quot;input.txt&quot;), O(&quot;output.txt&quot;, 2); I&gt;&gt;n; O&lt;&lt;(n &lt;=0 ? (n - n*n) / 2...

2
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
18.03.2022, 06:29
Короче будет, если значения макс, мин и среднее запомнить в промежуточных переменных:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int tmin=x,tmax=x,tav=x;
if(y<x)
   tmin=y;
if(z<tmin)
  tmin=z;
if(y>x)
   tmax=y;
if(z>tmax)
  tmax=z;
if(y>x )
   tav=y;
if(z<tav)
  tav=z;
x=tmin;
y=tmax;
z=tav;
0
 Аватар для roach1967
984 / 464 / 234
Регистрация: 27.06.2014
Сообщений: 1,035
18.03.2022, 07:29
Hatemsla, вот чуть короче:
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
        static void Main(string[] args)
        {
            int x, y, z;
            while (true)
            {
                try
                {
                    Console.Write("x: ");
                    x = int.Parse(Console.ReadLine());
                    Console.Write("y: ");
                    y = int.Parse(Console.ReadLine());
                    Console.Write("z: ");
                    z = int.Parse(Console.ReadLine());
                    break;
                }
                catch
                {
                    Console.WriteLine("Неверный формат данных");
                }
            }
 
            if (x < y) (x, y) = (y, x);
            if (y < z) (y, z) = (z, y);
            if (x < y) (x, y) = (y, x);
            Console.WriteLine($"x = {x}, y = {y}, z = {z}");
            Console.ReadLine();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2022, 07:29
Помогаю со студенческими работами здесь

сократить код, добавить функцию
Есть код, замены местами столбцов с min и max элементами, нужно добавить больше функций, и миксимально его сократить... что можно...

Можно ли еще сократить код?
Есть программа, которая должна считать данные из файла input.txt и записать ответ в фаил output.txt. Программа должна сложить 2 числа не...

Крестики нолики(сократить код)
а как в крестиках ноликах можно заменить проверку двух подряд крестиков? //////////////////////HORIZONTAL/////////////// if(a==a...

Как сократить данный код?
Во время урока алгебры Незнайка написал следующую таблицу на доске: a b a2b ab2 12 2 288 48 -1 -1 -1 -1 9 -3 -243 81 ...

как можно ещё сократить код?
#include&lt;iostream&gt; main(){ int n; std::cin&gt;&gt;n; std::cout&lt;&lt;n*(n+1)/2+1; }


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru