C++ c++;在字符数组中插入单词的程序
嗨,我在字符数组中插入一个单词时有点小问题。输出的字数正确,但字符显示错误。我会附上我正在做的代码,请找出问题。 在这个问题中,我要求用户输入一个主字符数组(C++ c++;在字符数组中插入单词的程序,c++,arrays,insert,char,C++,Arrays,Insert,Char,嗨,我在字符数组中插入一个单词时有点小问题。输出的字数正确,但字符显示错误。我会附上我正在做的代码,请找出问题。 在这个问题中,我要求用户输入一个主字符数组(marr)和一个要插入的单词(sarr)以及一个要插入的索引(index) 使用名称空间std; int main() { char-marr[100],sarr[10],narr[200]; 整数指数; cout问题出在这一部分: for (int i = index; i < ilen; i++) //filing
marr
)和一个要插入的单词(sarr
)以及一个要插入的索引(index
)
使用名称空间std;
int main()
{
char-marr[100],sarr[10],narr[200];
整数指数;
cout问题出在这一部分:
for (int i = index; i < ilen; i++) //filing inserted array
{
for (int j =0; j < slen; j++)
{
narr[i] = sarr[j];
}
}
以同样的方式改变:
for(int i=ilen;i<mlen+slen;i++) //filing left portion of main array in new array
{
for(int j=index;j<mlen;j++)
{
narr[i]=marr[j];
}
}
问题在于这一部分:
for (int i = index; i < ilen; i++) //filing inserted array
{
for (int j =0; j < slen; j++)
{
narr[i] = sarr[j];
}
}
以同样的方式改变:
for(int i=ilen;i<mlen+slen;i++) //filing left portion of main array in new array
{
for(int j=index;j<mlen;j++)
{
narr[i]=marr[j];
}
}
首先,在这个循环之前
for (int i = 0; i < index; i++)
for (int j =0; j < slen; j++)
{
narr[i] = sarr[j];
}
是冗余的。您始终可以通过当前以零结尾的字符来确定字符串的结尾
随后的嵌套循环是错误的。例如,此循环中数组的副本sarr
for (int i = 0; i < index; i++)
for (int j =0; j < slen; j++)
{
narr[i] = sarr[j];
}
程序输出可能如下所示
Enter main array data: Hello Laiba Abid
Enter word to be inserted: mr.
Enter index where word is to be inserted: 6
New Array: Hello mr. Laiba Abid
首先,在这个循环之前
for (int i = 0; i < index; i++)
for (int j =0; j < slen; j++)
{
narr[i] = sarr[j];
}
是冗余的。您始终可以通过当前以零结尾的字符来确定字符串的结尾
随后的嵌套循环是错误的。例如,此循环中数组的副本sarr
for (int i = 0; i < index; i++)
for (int j =0; j < slen; j++)
{
narr[i] = sarr[j];
}
程序输出可能如下所示
Enter main array data: Hello Laiba Abid
Enter word to be inserted: mr.
Enter index where word is to be inserted: 6
New Array: Hello mr. Laiba Abid
问题是在双for循环中发现的;通过使用双for循环,您不断覆盖数组中的同一个字母。(要了解我的意思,只需添加cout问题是在双for循环中发现的;通过使用双for循环,您不断覆盖数组中的同一个字母。)。(要了解我的意思,只需添加一个cout有没有理由不使用std::string
?我还没有学过它,最重要的是我想在不使用内置函数的情况下解决这个问题。使用内置函数非常容易。我想在不使用内置函数的情况下解决这个问题。@LaibaAbidstd::string
是一个类,而不是一个函数k但你不能指出其中的错误。我想这样做。请找出错误。你不使用std::string
有什么原因吗?我还没有了解它,最重要的是我想不使用内置函数来解决这个问题。使用内置函数很容易。我想不使用内置函数来解决。@LaiBABIDstd::string
是一个类,不是一个函数。好的,但是你不能指出其中的错误。我想这样做。请找出错误。非常感谢。我的代码现在运行得很好。非常感谢。我的代码现在运行得很好。