Відповідь:
#include <iostream>
#include<locale>
void revers(int64_t *d,uint64_t t){
int64_t f;
for(uint64_t g=0;g<t/2;g++){
f=d[t-g-1];
d[t-g-1] = d[g];
d[g] = f;
}}
int main()
{setlocale(0,"");
uint64_t a;
std::cout << "Введите размер массива:\n";
std::cin>>a;
int64_t b[a];
std::cout<<"Введите элементы массива:\n";
for(uint64_t i=0;i<a;i++) std::cin>>b[i];
revers(b,a);
for(int64_t g:b){
std::cout<<g<<" ";
}
return 0;
}
Объяснение:
Алгоритмы как логико-математические средства отражают различные компоненты человеческой деятельности и тенденции, а сами алгоритмы в зависимости от цели, начальных условий задачи, путей её решения, определения действий исполнителя классифицируются следующим образом [2]:
механические алгоритмы, называемые детерминированными, жёсткими (например, алгоритм работы двигателя), задают определённые действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый результат, если выполняются те условия процесса, для которых разработан алгоритм;
гибкие алгоритмы:
вероятностные (стохастические) алгоритмы дают программу решения задачи несколькими путями или приводящими к вероятному достижению результата;
эвристические алгоритмы – это алгоритмы, в которых достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя. К эвристическим алгоритмам относят, например, инструкции и предписания. В этих алгоритмах используются универсальные логические процедуры и принятия решений, основанные на аналогиях, ассоциациях и опыте решения схожих задач;
линейные алгоритмы – наборы команд, выполняемых последовательно во времени друг за другом;
разветвляющиеся алгоритмы – алгоритмы, содержащие хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов;
циклические алгоритмы – алгоритмы, предусматривающие многократное повторение одного и того же действия (или действий) над исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов;
вс алгоритмы (процедуры) – алгоритмы, ранее разработанные и целиком используемые при алгоритмизации конкретных задач.
Рассмотрим подробнее три основных вида алгоритмов: линейный, разветвляющийся и циклический.
Линейный алгоритм. Приведём пример записи алгоритма в виде блок-схемы, в виде программы на алгоритмическом языке и на языке Паскаль.
В качестве примера рассмотрим решение задачи вычисления среднего арифметического из двух чисел, вводимых с клавиатуры (рис. 1.2).

Разветвляющийся алгоритм. В качестве примера рассмотрим алгоритм нахождения максимального из двух чисел, введённых с клавиатуры (рис. 1.3).

Рис. 1.3. Пример разветвляющегося алгоритма
Циклический алгоритм. Работу циклического алгоритма рассмотрим на примере нахождения суммы чётных чисел, находящихся в диапазоне от 0 до n (n вводится с клавиатуры) (рис. 1.4).

Рис. 1.4. Пример циклического алгоритма
Поделитесь своими знаниями, ответьте на вопрос:
Придумайте способ кодирования цветов для 256-цветовой палитры