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

Упрощение кода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать программу с Паскаля на C++ http://www.cyberforum.ru/cpp-beginners/thread1212916.html
Нужно переписать программу с паскаля на си++, и чтобы данные вводил я сам. const COUNT_POINTS=6; type ARRN=array of integer; ARRNN=array of integer; PROCEDURE FITSP(N,S,INF:INTEGER; VAR W:ARRNN; VAR ROUTE:ARRN; VAR PATH_WEIGHT:INTEGER); VAR END1,END2,FARTHEST,I,INDEX, INSCOST,J,MAXDIST,NEWCOST,NEXTINDEX :INTEGER;
C++ Сортировка динамического массива Доброе время суток!!! Очень надо Разработать программу сортировки матрицы размерности nxn так, чтобы элементы в каждой строке отсортированной матрицы располагались по возрастанию, и ни один элемент в i строке не был бы больше любого элемента в i+1 строке. Сортировку выполнять над одномерным массивом из n2 элементов, который "накладывается" на исходную матрицу. Программу выполнить на С++ http://www.cyberforum.ru/cpp-beginners/thread1212913.html
C++ Оператор static_cast
int N; cout << "введите размер маccива: "; cin >> N; vector<double> matrix (N); for (int i = 0; i < N; i++) //заполнение массива псевдорандомными значениями { matrix = static_cast<double>(5 - (rand() % 10)); cout << setw(7) << setprecision(3) << matrix; }
C++ В двумерном массиве 5*4 целых чисел найти сумму абсолютных значений элементов каждой строки
В двумерном массиве массиве 5*4 целых чисел найти суммы абсолютных значений элементов каждой строки. Результат записать в дополнительный столбец. После этого нужно найти максимальную из этих сумм. Вывести массив с дополнительным столбцом в виде таблицы. Вывести значение максимальной суммы
C++ С++ Изменение значения в адресе ХЕлП (DLL) http://www.cyberforum.ru/cpp-beginners/thread1212850.html
Длл инжекторная если посмотрите под спойлером. Проблема в след. надо изменить значение по конкретному адресу на конкретное число типо как типо как в Cheat Engine меняется коллво денег или жизней на другое. Так вот как это реализовать в C++ и желательно нажатием кнопки. Если не поняли спрашивайте уточню. Вот что пытался всунуть но хз что наверное не так делаю или вообще не подходит этот...
C++ Неявный вызов оператора Дано комплексное число Его действительную и мнимую часть объявить в private конструктор и деструктор объявить в public потом дополнить класс перегрузкой префикного инкремента (++) #include <vcl.h> #include <iostream.h> #include <conio.h> #pragma hdrstop //--------------------------------------------------------------------------- подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.06.2014, 14:09     Упрощение кода
Всем привет.

Есть такой код:

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
enum FTYPE { FALSE, TRUE, DEFAULT };
FTYPE f();
 
bool n()
{
    while( g() )
    {
        switch( f() )
        {
            case TRUE: return true; 
            case FALSE: return false; 
            case DEFAULT: break; 
        }
    }
    return false; 
}
 
bool c()
{
    switch( f() )
    {
       case TRUE: return true; 
       case FALSE: return false; 
       case DEFAULT: break; 
    }
    return n();
}
Как можно заметить, строки 8-13 и 20-25 эквивалентны, но можно ли их заменить новой функцией для исключения дублирования? Мне почему-то кажется, что нет. И единственное упрощение, которое тут можно сделать, это убрать строки с
C++
1
case DEFAULT: break;
т.к. они всё равно ни на что не влияют.

P.S. Обращу ваше внимание ещё на то, что c() в итоге может вызвать n(). (это не опечатка)

Какие будут идеи, уважаемые?

P.S. макроподстановку не предлагать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru