C++ Bir Ifadenin Tersini (Reverse) Bulma

Merhaba arkadaşlar, bu yazımızda girilen bir ifadenin tersini bulmak için gereken kodumuzu paylaşacağım. Örneğin, girilen ifade “caner” ise, tersi “renac” olacaktır. Mantığını açıklamak gerekirse, öncelikle strlen ile uzunluğunu buluyoruz, dizinin sonunda “\0” ifadesi olduğu için -1 yaparak 1 azaltıyoruz. Daha sonra da dizinin ilk karakteri ile son karakterini, ikinci karakter ile sondan bir önceki karakteri değiştiriyoruz. Bu şekilde döngünün sonuna gelindiğinde ifadenin tersi bulunmuş olunuyor.

#include<iostream>
#include<cstring>
  
using namespace std;
 
int main()
{
  char str[100], temp;
  int i, j=0;
  cout << "Bir ifade giriniz : ";
  gets(str);  
  i = 0;
  j = strlen(str) - 1;
  while(i<j)
  {
      temp=str[i];
      str[i]=str[j];
      str[j]=temp;
      i++;
      j--;
  }
  cout << "Ifadenin tersi: " << str;
  return 0;
}

Çıktı

Bir ifade girini : caner Ifadenin tersi : renac