Как запустить массив в обратном порядке? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть код, по клику он вызывает следующий ответ из массива, как сделать чтобы по клику другой кнопкой массив начинал идти в обратном порядке с того места где он остановился? К примеру: я шел "1,2,3", а по нажатию другой кнопки вернулся на "2"
int a = 0;
 
void backintime() {
a = 0;
text_layer_set_text(text_layer, "///");
}
 
static const char* messages[] = {"one", "two","three","four","five"}; 

void click(ClickRecognizerRef recognizer, void *context) {
if(a>4) {
backintime();
return;
}
text_layer_set_text(text_layer, messages[a]);
a++;
}

Решение задачи: «Как запустить массив в обратном порядке?»

textual
Листинг программы
[
int a = 0;
 
void backintime()
{
    if(a>4 || a< 0 ) {
                            a = 0;
                            text_layer_set_text(text_layer, "///");
                            }
}
 
static const char* messages[] = {"one", "two","three","four","five"}; 
  
void click (ClickRecognizerRef recognizer, void *context)
{
    backintime();
    text_layer_set_text(text_layer, messages[a]);
    a++;
}
 
void clickback (ClickRecognizerRef recognizer, void *context)
{
    backintime();
    a--;
    text_layer_set_text(text_layer, messages[a]);
}

Объяснение кода листинга программы

В данном коде используется язык программирования C. Список действий, которые выполняются в этом коде:

  1. Объявляется переменная типа int с именем a и значением 0.
  2. Определяются две функции: backintime и click. Функция backintime проверяет значение переменной a и если оно выходит за пределы от 0 до 4, то устанавливает его равным 0 и выводит на экран ///. Функция click увеличивает значение переменной a на 1 и выводит на экран соответствующее сообщение из массива messages.
  3. Создается массив messages с пятью элементами: one, two,three,four,five.
  4. Определяются две функции: click и clickback. Функция click вызывает функцию backintime, выводит на экран текущее сообщение из массива messages и увеличивает значение переменной a на 1. Функция clickback вызывает функцию backintime, выводит на экран предыдущее сообщение из массива messages и уменьшает значение переменной a на 1. Таким образом, при каждом нажатии на экран выводится на один шаг более старое сообщение из массива messages.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы