Вот такое задание:
Напишите функцию reversit(), которая переворачивает строку (массив типа char). Используйте цикл for, который меняет местами первый и последний символы, затем следующие и т. д. до предпоследнего. Строка должна передаваться в функцию reversit() как аргумент.
Напишите программу для выполнения функции reversit(). Программа должна принимать строку от пользователя, вызывать функцию reversit(), а затем выводить полученный результат. Используйте метод ввода, который позволяет использовать внутренние пробелы.
Код:
string reversit(char * chars)
{
char a;
if (sizeof(chars) % 2 == 0)
{
for (int i = 0; i <= sizeof(*chars) / 2; i++)
{
a = chars[i];
chars[i] = chars[sizeof(chars) - i];
chars[sizeof(chars) - i] = a;
}
}
else
{
for (int i = 0; i <= sizeof(*chars) / 2 + 1; i++)
{
a = chars[i];
chars[i] = chars[sizeof(chars) - i];
chars[sizeof(chars) - i] = a;
}
}
std::string str2(chars);
return str2;
}
void task3()
{
string str1;
cin >> str1;
const char *chars = str1.c_str();
cout << reversit(chars);
}