Member 14856122 Ответов: 1

Как реализовать обратный код в моем коде?


Arduino Uno

Итак, это код, который у меня сейчас есть, я нашел код, который, возможно, мог бы мне помочь, но я не уверен, как бы я реализовал этот код в своем собственном коде. То, что я хочу, чтобы он сделал после того, как он напечатал отправленное сообщение, - это напечатать то же самое сообщение, но в обратном порядке.
char Message[128] = "";
char MessageInversed[128] = "";

boolean Done;

void setup()
{

// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("<Enter your text>");
}

void loop()
{
Readmessage();
Showmessage();
}

void Readmessage()
{
static int CharCount = 0 ;
char EnterCheck = '\n';
char NextChar;

while (Serial.available() > 0 && Done == false)
{
NextChar = Serial.read();

if (NextChar != EnterCheck)
{
Message[CharCount] = NextChar;
CharCount++;
}
else
{
Message[CharCount] = '\0';
CharCount=0;
Done = true;
}
}

}



void Showmessage()

{

if (Done == true)

{

Serial.print("Your message length is: ");

Serial.println(strlen(Message));

Serial.print("This is your message: ");

Serial.println(Message);

Done = false;

}

}

This is the code I found, Im not sure how to put it into my own code though if that would be to work:

// Recursive C++ program to reverse an array

#include <bits/stdc++.h>

using namespace std;

/* Function to reverse arr[] from start to end*/

void rvereseArray(int arr[], int start, int end)

{

if (start >= end) 

return; 


int temp = arr\[start\]; 

arr\[start\] = arr\[end\]; 

arr\[end\] = temp; 

// Recursive Function calling 

rvereseArray(arr, start + 1, end - 1); 
}


Что я уже пробовал:

Гуглю, но не понимаю, как это реализовать

1 Ответов

Рейтинг:
1

Richard MacCutchan

void rvereseArray(int arr[], int start, int end)

Итак, вам нужно передать функции массив символов плюс смещение начального и конечного символов. Что-то вроде:
char message[] = "This is a message";
rvereseArray(message, 0, strlen(message) - 1);


Member 14856122

Где я могу поместить это в свой код? Извините, я совсем новичок в этом деле

Richard MacCutchan

Поместите функцию rvereseArray где-нибудь над вашей основной функцией. Вероятно, было бы неплохо, если бы вы изучили основы языка Си До начала вашего проекта.