当前位置: 首页 > 知识库问答 >
问题:

用C++将两个数组3×3串联成一个数组

宦树
2023-03-14

正如标题所示,我想将两个数组串联成一个更大的数组。例如:

array1= 1  2  3
        4  5  6
        7  8  9
array1= 10  20  30
        40  50  60
        70  80  90
array3= 1  2  3  10  20  30
        4  5  6  40  50  60
        7  8  9  70  80  90
#include <iostream>

using namespace std;

int main()
{
    int array1[3][3],array2[3][3],array3[3][6];
    int i,j;

    //Matrix 1 input
    cout<<"Enter matrix 1\n";
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
        {
            cin>>array1[i][j];
            array3[i][j]=array1[i][j]; //Assigning array1 values to array3
        }
    }

    //array2 input
    cout<<"Enter matrix 2\n";
    for (i=0;i<3;i++)
    {
        for (j=3;j<6;j++)
        {
            cin>>array2[i][j];
            array3[i][j]=array2[i][j]; //Assigning array2 values to array3
        }
    }

    //array3 output
    cout<<"New matrix is\n";
    for (i=0;i<3;i++)
    {
        for (j=0;j<6;j++)
        {
            cout<<array3[i][j]<<"\t";
        }
    cout<<"\n";
    }
}
array3= 70  80  90  10  20  30
        4   5    6  40  50  60
        7   8    9  70  80  90
for (i=0;i<3;i++)
{
    for (j=0;j<3;j++)
    {
        cin>>array2[i][j];
        array3[i][j+3]=array2[i][j]; //Assigning array2 values to array3 and adding 3 to j
    }

一切顺利。我用的方法“专业”吗?}

共有1个答案

拓拔俊艾
2023-03-14

这是未定义的行为:

for (i=0;i<3;i++)
    for (j=3;j<6;j++)
        array3[i][j]=array2[i][j];

array2是3x3,但是您以[0][3]开始索引它,这是一个错误。如果您使用C++11std::array及其.at()方法而不是原始C数组,那么您可以在运行时检查这种情况。

 类似资料:
  • 本文向大家介绍python将一组数分成每3个一组的实例,包括了python将一组数分成每3个一组的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 结果如下: 以上这篇python将一组数分成每3个一组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我需要一个将所有元​​素组合在一起的新数组,即 做这个的最好方式是什么? 对不起,我忘了,这些ID永远不会匹配,但是从技术上讲,这些名称可能会出现,但不可能出现,它们都必须列在一个数组中。我查看了array_merge,但不确定这是否是最佳方法。另外,您将如何对此进行单元测试? 问题答案: 效率更高,但有两种选择:

  • 问题内容: 我正在尝试将javascript中的2个数组合并为一个。 这是一个简单的示例,我希望能够将它们组合起来,以便当读取第二行时,数组中的第4个元素将返回“ d” 我该怎么办? 问题答案:

  • 虽然Swift中的link:Add a element to a array展示了如何将一个项目添加到一个数组中,但我的问题是如何将一个数组作为一个项目添加到另一个数组中。 我没有发现任何类似的问题——我有以下阵列: 和 我想将第一个数组作为一个整体附加到另一个数组,所以我得到这样的结果: 请注意,这不是预期的结果: 我将如何实现这一点?

  • 本文向大家介绍C ++程序中将两个数组按元素求和的位数变成一个新数组,包括了C ++程序中将两个数组按元素求和的位数变成一个新数组的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将编写一个程序来查找两个数组元素的太阳,并将它们存储到单独的数组中。 我们给出了两个数组,我们需要从两个数组中添加相应的索引元素。如果总和不是单个数字,则从数字中提取数字并将其存储在新数组中。 让我们来看一个例子

  • 有两个不同的字符串数组。 我想把这两个数组做成一个4*2矩阵。 我怎么做这个矩阵?