массив переменного размера, так называемый
динамический берётся из свободной памяти:
Код:
int size1 = 10;
int* array1 = new int[size1];
...
delete[] array1;
усовершенствовать алгоритм поиска мин/макс дальше сложно. Можно только сделать его более универсальным, не теряя производительности:
Код:
// возвращает указатель на минимальный элемент или на конец массива (если он пустой)
int* find_min(int* first, int* last)
{
int* result = first;
if (first!=last)
{
while(++first!=last) if (*first<*result) result=first;
}
return result;
}
...
// вообще бы надо проверить, что size1>0
int* min1 = find_min(array1, array1+size1);
print("found minimum %d at position %d\n", *min1, ((unsigned)min1-(unsigned)array1)/sizeof(int));
// минимум среди первых 10:
int* min1 = find_min(array1, array1+min(size1,10));
print("found minimum %d at position %d\n", *min1, ((unsigned)min1-(unsigned)array1)/sizeof(int));