/* Write a program that would mix-and-merge two given strings (s1 and s2) into string s3 as follows:
first character of s1, first character of s2, second character of s1, second character of s2, etc. */
을 가지고하지만 내 코드에 문제가있는 경우 검사를 중지하는 방법 : 난 = S1 "John"
에 대한 다음 "Stevens"
결과가 될 것입니다 S2에 대한 JSothenv e n s.
문자열이 비어 인덱스
를 입력하면 어떻게 해결 할 것을 문자열 중 하나가 끝난 후에 남아있는 공백은 무엇입니까?
방법은 내가 그것을 고칠 것이라고 나는 if 루프에 대한 아래에 있습니다 확인하려면 인덱스가 null 또는 '\ 0'경우 볼 수있는 문자열로 임의의 값을 보유하고 작동하지 않습니다 문자열이 끝난 후
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1, s2;
string s3;
int i; // For index
int j = 0; // For second index and loop checking
cout << "Type first string: ";
getline(cin, s1);
cout << "Type second string: ";
getline(cin, s2);
s3.resize(s1.size() + s2.size() + 100); // The + 100 is used so we have space for all the characters. The + 100 is not needed if i fix my problem.
for(i = 0; j <= s1.size(); i += 2)
{
if(s1[j] == null) // With what do i check it?
{
break;
}
else
{
s3[i] = s1[j];
++j;
}
}
j = 0;
for(i = 1; j <= s2.size(); i += 2)
{
if(s2[j] == null)
{
break;
}
else
{
s3[i] = s2[j];
}
++j;
}
for(i = 0; i <= s3.size(); ++i)
{
cout << s3[i];
}
return 0;
첫 번째 단락은 정말 혼란 스럽습니다. 다시 읽어보고 더 명확하게 생각하는 방법을 생각해보십시오. 예제 입력과 출력을 철저히 제공하면 도움이됩니다. –
"두 개의 입력 문자열이 주어지면 입력 문자열의 문자를 인터리브하여 만든 세 번째 문자열을 생성하고 싶습니다. 예를 들어,"DOG "와"octopus "가 주어진다면, 나는 생산하고 싶을 것입니다. . " –
그래, 고마워. 내가 지금 할게 :) 편집이 더 나아 졌어? – Johnson