Форум программистов, компьютерный форум CyberForum.ru

Сократить код, переделав if - C++

Восстановить пароль Регистрация
 
Alimzhan777
0 / 0 / 0
Регистрация: 06.10.2016
Сообщений: 6
14.10.2016, 10:02     Сократить код, переделав if #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
#include <iostream>
#include <math.h>
#pragma hdrstop
#pragma argsused
 
using namespace std;
 
int main(int argc, char* argv[])
{
    int m;
    double x=1,y=2.7,z,a=3,i=2;  
    setlocale(LC_CTYPE,"");
    cout<<"Ââåäèòå öåëîå Г*Г*ГІГіГ°Г*ëüГ*îå ÷èñëî"<<endl;
    cin>>m;
    if (m==0||m==1||m==2)
    {
        z=0.5*a+cos(y/a);
        cout<<"Åñëè m=0,1,2 z ="<<z<<endl;
    }
    if (m==3||m==5||m==7)
    {
        z=y*y-i;
        cout<<"Åñëè m=3,5,7 z ="<<z<<endl;
    }
    if (m==4)
    {
        z=x+(x*x)/2-1./3;
        cout<<"Åñëè m=4 z ="<<z<<endl;
    }
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2016, 10:02     Сократить код, переделав if
Посмотрите здесь:

Крестики нолики(сократить код) C++
Можно ли еще сократить код? C++
C++ сократить код, добавить функцию
C++ сократить код
Сократить код на два символа C++
сократить код C++
C++ сократить код
C++ Сократить код до 89 символов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gru74ik
Модератор
 Аватар для gru74ik
3121 / 1347 / 167
Регистрация: 20.02.2013
Сообщений: 3,852
Записей в блоге: 17
14.10.2016, 10:26     Сократить код, переделав if #2
Alimzhan777, вот:
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
#include <iostream>
#include <cmath>
#include <clocale>
int main() {   
    setlocale( LC_CTYPE, "" );
    int m;
    double x = 1., y = 2.7, z, a = 3., i = 2.;    
    do {
        std::cout << "Ââåäèòå öåëîå Г*Г*ГІГіГ°Г*ëüГ*îå ÷èñëî\n";
        std::cin >> m;        
    }
    while ( m < 0 || m > 7 );    
    if ( m >= 0 && m <= 2 ) {
        z = 0.5 * a + cos( y / a );
        std::cout << "Åñëè m=0,1,2 z = " << z << "\n";
    }
    else if ( m == 4 ) {
        z = x + ( x * x ) / 2. - 1. / 3.;
        std::cout << "Åñëè m=4 z = " << z << "\n";        
    }
    else {
        z = y * y - i;
        std::cout << "Åñëè m=3,5,7 z = " << z << "\n";
    }    
    return 0;
}
Добавлено через 8 минут
Alimzhan777, а если ты ещё и изначальное условие задачи выложишь, то ещё проще будет тебе помочь.
Байт
 Аватар для Байт
13989 / 8820 / 1231
Регистрация: 24.12.2010
Сообщений: 15,979
14.10.2016, 12:17     Сократить код, переделав if #3
C++
1
2
3
4
5
6
7
8
9
10
static int sw[8] = { 1,1,1,2,3,2,0,2 };
int s = sw[m];
if (s==1)
{
      z=0.5*a+cos(y/a);
      cout<<"Åñëè m=0,1,2 z ="<<z<<endl;
}
else if (s==2) {
 ....
}
Если вы это имели в виду.
Yandex
Объявления
14.10.2016, 12:17     Сократить код, переделав if
Ответ Создать тему
Опции темы

Текущее время: 14:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru