Я создал 2 строки и пытался получить вывод.Первый cout работает хорошо, но есть что-то не так с cout во второй последней строке, который ничего не показал, когда я тестировал его.Я выкладываю весь свой код, если кто-то может сказать мне, в чем проблема в этом состоянии.
Вывод должен выглядеть так: «Введите зашифрованную строку:»;// Первый cout, если я введу «nhypto», он должен показать мне это: «Первоначальная строка была: python», но она ничего мне не показала.
#include <iostream>
#include <string>
using namespace std;
int main(){
string str, str_new;
cout << "Enter the scrambled string: ";
cin >> str_new;
int len = str_new.length();
if (len%2 == 0){
for (int i = 0; i < len; i++){
if (i%2 == 1){
return str[i] = str_new[len/2 - 1 - (i-1)/2];
}
else {
return str[i] = str_new[len/2 - 1 + i/2];
}
}
}
else { // len%2 == 1
for (int i = 0; i < len; i++){
if (i%2 == 1){
return str[i] = str_new[(len-1)/2 - (i+1)/2];
}
else {
return str[i] = str_new[(len-1)/2 + i/2];
}
}
}
cout << "The original string was: " << str;
return 0;
}