Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 10

Упростить if else

24.05.2014, 20:08. Показов 1644. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите упростить.
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
if(RadioGroup1->ItemIndex==4)
  {if(ComboBox1->ItemIndex==0)
    {if(x>=1&&x<=6)s=5; else s=0;
    }
   else if(ComboBox1->ItemIndex==1)
    {if(x>=7&&x<=12)s=5; else s=0;
     }
   else if(ComboBox1->ItemIndex==2)
    {if(x>=13&&x<=18)s=5; else s=0;
     }
   else if(ComboBox1->ItemIndex==3)
    {if(x>=19&&x<=24)s=5; else s=0;
     }
   else if(ComboBox1->ItemIndex==4)
    {if(x>=25&&x<=30)s=5; else s=0;
     }
   else if(ComboBox1->ItemIndex==5)
    {if(x>=31&&x<=36)s=5; else s=0;
     }
  }
 
  if(RadioGroup1->ItemIndex==5)
  {if(ComboBox1->ItemIndex==0)
    {if(x>=1&&x<=3)s=11; else s=0;
    }
   else if(ComboBox1->ItemIndex==1)
    {if(x>=4&&x<=6)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==2)
    {if(x>=7&&x<=9)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==3)
    {if(x>=10&&x<=12)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==4)
    {if(x>=13&&x<=15)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==5)
    {if(x>=16&&x<=18)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==6)
    {if(x>=19&&x<=21)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==7)
    {if(x>=22&&x<=24)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==8)
    {if(x>=25&&x<=27)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==9)
    {if(x>=28&&x<=30)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==10)
    {if(x>=31&&x<=33)s=11; else s=0;
     }
   else if(ComboBox1->ItemIndex==11)
    {if(x>=34&&x<=36)s=11; else s=0;
     }
  }
не могу доделать это для if(RadioGroup1->ItemIndex==4)
C++
1
2
3
4
5
6
7
for(i1=0; i1<=5; i1++)
   for(i2=1; i2<=36; i2+=6)
   if(RadioGroup1->ItemIndex==4)
  {if(ComboBox1->ItemIndex==i1)
    {if(x>=i2&&x<=i2+5)s=5; else s=0;
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2014, 20:08
Ответы с готовыми решениями:

Упростить, восстановить и упростить, и найдти множество предикатов
Помогите сделать задания, сам слабо понимаю как это делать, смог только по таблицам истинности сделать задания 1,2, а эти тоже сделать...

упростить
(x*не y)v(не x*y*не z)v(y*z)

упростить
Как можно еще упростить листинг??? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;clocale&gt; using...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
24.05.2014, 20:22
Лучший ответ Сообщение было отмечено bomx18 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
int index = ComboBox1->ItemIndex;
if(RadioGroup1->ItemIndex==4)
{
    if((x>=6*index+1) && (x<= 6*index+6)) s=5; else s=0;
}
 
if(RadioGroup1->ItemIndex==5)
{
    if((x>=3*index+1) && (x<= 3*index+3)) s=11; else s=0;
}
0
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 10
24.05.2014, 20:45  [ТС]
Спасибо за помощь.

Добавлено через 16 минут
UI, объясни пожалуйста (x>=6*index+1) && (x<= 6*index+6) я не могу понять как это она работает.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
24.05.2014, 20:52
Лучший ответ Сообщение было отмечено bomx18 как решение

Решение

Ну смотри, у тебя условия: если ComboBox1->ItemIndex = 0, то x должен быть в интервале 1..6, если же ComboBox1->ItemIndex = 1, то x уже в интервале 7..12, и так далее...

Значит, просто берем и сравниваем x не с конкретными значениями, а с вычисленными из текущего значения ItemIndex. Можно было бы написать:
C++
1
2
3
4
if(RadioGroup1->ItemIndex==4)
{
    if((x>=6*ComboBox1->ItemIndex+1) && (x<= 6*ComboBox1->ItemIndex+6)) s=5; else s=0;
}
, если тебе так будет понятнее, но просто слишком длинно получается, да и зачем дважды обращаться к свойству, если можно обратиться один раз
0
0 / 0 / 0
Регистрация: 21.05.2014
Сообщений: 10
24.05.2014, 21:06  [ТС]
все разобрался. спасибо что уделил время.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2014, 21:06
Помогаю со студенческими работами здесь

упростить
помогите упростить часть листинга #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int...

Упростить
$db-&gt;query(&quot;INSERT INTO file (&quot;.implode(',', $pl).&quot;) VALUES (&quot;.implode(',', $vl).&quot;)&quot;); $insert = $db-&gt;db_id-&gt;insert_id; ...

Упростить
foreach($mas_cl_name as $sl){ if(preg_match('/('.$sl.')/', $key)) $cl_nam = $sl; } Как можно упростить? Можно ли в...

Упростить ур-е
Ребят помогите упростить.

Упростить
Ребят помогите пожалуйста упростить пример. P.S. Заранее большое спасибо!


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru