В C++, какое из следующих решений более надежное и надежное для подсчета от 0 до 99 и сохранение каждой итерации в переменных для десятков и одних мест? И как можно улучшить любой метод, чтобы сделать его максимально быстрым и ресурсоемким?Подсчет от 0 до 99
typedef int (*IntFunction) (int* _SegmentList);
int display1SegmentPinNums[] = {...pin numbers...};
int display2SegmentPinNums[] = {...other pin numbers...};
// Then I have some functions that display a number to 7-segment displays. They each return an integer 1 and have a parameter of (int* _SegmentList), as per the type definition above
// An array of all the functions
IntFunction displayFunctions[10] = {display_0, display_1, display_2, display_3, display_4, display_5, display_6, display_7, display_8, display_9};
// Solution 1
for (int tens = 0; tens < 10; tens++)
{
for (int ones = 0; ones < 10; ones++)
{
displayFunctions[tens](display1SegmentPinNums);
displayFunctions[ones](display2SegmentPinNums);
}
}
// Solution 2
for (int i = 0; i < 100; i++)
{
ones = (i % 10);
tens = ((i - ones)/10);
displayFunctions[tens](display1SegmentPinNums);
displayFunctions[ones](display2SegmentPinNums);
}
Edit: Я включил несколько упрощенный вариант моего полного кода. Надеюсь, это поможет лучше ответить. Это для проекта Arduino BTW, с 7-сегментными дисплеями и попыткой сделать секундомер.
В чем проблема? Сколько раз десятки приращений и сколько раз они увеличиваются? Если это так, то математика не нужна. – NathanOliver
* «И как можно улучшить любой метод, чтобы сделать его максимально быстрым и ресурсоемким?» * Ваша учебная книга с 80-х годов? –
Какая проблема, с которой вы решили решиться? Я сомневаюсь, что это узкое место в вашем коде. – CoryKramer