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

我怎样才能读一个形式X的矩阵?

左丘涵畅
2023-03-14

所以我有一个形式为X的矩阵,我试着读两个对角线,我读第一个,但我读第二个对角线很吃力。

为了前任。如果我给出数字2,3,4,它会输出矩阵:

2 0 0
0 3 0
0 0 4

但在这种情况下,我需要读其他对角线,但只读边中的数字,因为我已经读过数字3了。

这种情况只是当矩阵的大小是奇数时,但我也需要帮助,当它是奇数时,即使认为它会更容易,因为你只需要阅读两个对角线而不关心中间元素

这是我到现在为止只阅读第一个对角线...

istream& operator>> (istream& s, matrixX& m) {
int size;
s >> size;

 m.reSize (size);

       for ( int j = 0; j < size; j++){
            s >> m(j,j);

}

共有1个答案

花和宜
2023-03-14

您可以使用以下命令读取另一个对角线:

istream& operator>> (istream& s, matrixX& m) {
    int size;
    s >> size;

    m.reSize (size);

    for ( int j = 0; j < size; j++) {
        s >> m(j,j);
        if (size % 2 == 0 || j != size / 2) {
            s >> m(j, size - j - 1);
        }
    }
    return s;
}

例如。输入:

3 1 2 3 4 5

大小写M(行,列)中的输出:

1 0 4
0 2 0
5 0 3

输出大小写M(col,row):

1 0 5
0 2 0
4 0 3

输入:

4 1 2 3 4 5 6 7 8 

大小写M(行,列)中的输出:

1 0 4 5
0 2 6 0
0 7 3 0
8 0 0 4

输出大小写M(col,row):

1 0 4 8
0 2 7 0
0 6 3 0
5 0 0 4
 类似资料:
  • 我有“下载正在进行文件”对话框活动。当用户按下“隐藏”按钮时,活动将创建通知和隐藏进度对话框。并且当用户单击到通知时,活动显示进度对话框再次出现在活动中。我如何在按下按钮“后退”时切换活动到后退任务?

  • 有什么方法可以简化这段代码吗?我正好有一个白色的一块,想要得到它的位置 代码: 瓦片类: 件类:

  • 我正在尝试获取角色id,但我不知道如何操作,因为它不起作用: 身份验证::用户- 对象(照亮\数据库\雄辩\收集)#843(1) {["项目":受保护]=

  • 我在Firestore有一个项目: 我需要获取数组“Personal”并在列表视图中显示它,我在这里看到一个类似的例子,从Firestore获取一个ArrayList和文档名,我尝试了这个解决方案。。。 Android Studio不显示错误,但试着运行应用程序,结果停止了,有人能帮我吗?

  • 我为我的angular表单中的表单输入元素设计了一个加载组件,以便在从api加载字段时显示。这里,我必须向< code>app-loader组件提供组件的高度和宽度,以便它可以相应地占用空间。 现在我所做的是使用手动开关 到目前为止,我有如下所示。