C++ I\'m supposed to concatenate the 2 strings entered with a for loop but I don
ID: 3769700 • Letter: C
Question
C++
I'm supposed to concatenate the 2 strings entered with a for loop but I don't know what to put inside the for loop.
#include <iostream>
#include <cctype>
#include <cstring>
using namespace std;
int main()
{
string str1, str2;
cout << "Enter two strings: " << endl;
cin >> str1;
char * cstr1 = new char [str1.length()+1];
char * Newstring1 = new char [str1.length()+1];
strcpy (cstr1, str1.c_str());
strcpy(Newstring1, cstr1);
cout << Newstring1 << endl;
cin >> str2;
char * cstr2 = new char [str2.length()+1];
char * Newstring2 = new char [str2.length() + 1];
strcpy(cstr2, str2.c_str());
strcpy(Newstring2, cstr2);
cout << Newstring2;
cout << strcat(Newstring1, Newstring2);
char * cstr3 = new char [str1.length() + 1 + str2.length() + 1];
for(int i=0;i<=(str1.length() + 1 + str2.length() + 1);i++)
}
Explanation / Answer
I changed the for loop condition. Its working code
#include <iostream>
#include <cctype>
#include <cstring>
using namespace std;
int main()
{
string str1, str2;
cout << "Enter two strings: " << endl;
cin >> str1;
char * cstr1 = new char [str1.length()+1];
char * Newstring1 = new char [str1.length()+1];
strcpy (cstr1, str1.c_str());
strcpy(Newstring1, cstr1);
cout << Newstring1 << endl;
cin >> str2;
char * cstr2 = new char [str2.length()+1];
char * Newstring2 = new char [str2.length() + 1];
strcpy(cstr2, str2.c_str());
strcpy(Newstring2, cstr2);
cout << Newstring2 << endl;
cout << strcat(Newstring1, Newstring2) << endl;
char * cstr3 = new char [str1.length() + str2.length() + 1];
//concated string will be combine length of both string str1 and str2 plus 1 for null character
int i; //always define variables at the top of code (recommended)
for(i=0;i < (str1.length() + str2.length());i++)
if(i<str1.length())
cstr3[i] = str1[i];
else
cstr3[i] = str2[i-str1.length()];
cstr3[i] = ''; //putting null character at the very end (outside loop)
cout<<cstr3<<endl;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.