Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;在字符数组中插入单词的程序_C++_Arrays_Insert_Char - Fatal编程技术网

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
?我还没有学过它,最重要的是我想在不使用内置函数的情况下解决这个问题。使用内置函数非常容易。我想在不使用内置函数的情况下解决这个问题。@LaibaAbid
std::string
是一个类,而不是一个函数k但你不能指出其中的错误。我想这样做。请找出错误。你不使用
std::string
有什么原因吗?我还没有了解它,最重要的是我想不使用内置函数来解决这个问题。使用内置函数很容易。我想不使用内置函数来解决。@LaiBABID
std::string
是一个类,不是一个函数。好的,但是你不能指出其中的错误。我想这样做。请找出错误。非常感谢。我的代码现在运行得很好。非常感谢。我的代码现在运行得很好。