PTA:三元组顺序表表示的稀疏矩阵转置Ⅱ

编程入门 行业动态 更新时间:2024-10-19 20:38:38

PTA:三元组顺序表表示的<a href=https://www.elefans.com/category/jswz/34/1767749.html style=稀疏矩阵转置Ⅱ"/>

PTA:三元组顺序表表示的稀疏矩阵转置Ⅱ

三元组顺序表表示的稀疏矩阵转置Ⅱ

  • 题目
    • 输入格式
    • 输出格式
    • 输入样例
    • 输出样例
  • 代码

题目

三元组顺序表表示的稀疏矩阵转置Ⅱ。设a和b为三元组顺序表变量,分别表示矩阵M和T。要求按照a中三元组的次序进行转置,并将转置后的三元组置入b中恰当的位置。

输入格式

输入第1行为矩阵行数m、列数n及非零元素个数t。
按行优先顺序依次输入t行,每行3个数,分别表示非零元素的行标、列标和值。

输出格式

按置入b中的顺序输出置入的位置下标,转置后的三元组行标、列标和值,数据之间用空格分隔,共t行。

输入样例

3 4 3
0 1 -5
1 0 1
2 2 2

输出样例

1 1 0 -5
0 0 1 1
2 2 2 2

代码

#include<bits/stdc++.h>
using namespace std;const int N = 1e4 + 7;struct Matrix
{int x, y;int val;
}a[N], b[N];int main()
{int n, m, t, i, j;int cnt = 0;cin >> n >> m >> t;for (i = 0; i < t; i++)cin >> a[i].x >> a[i].y >> a[i].val;for (i = 0; i < m; i++){for (j = 0; j < t; j++){if (a[j].y == i){b[cnt].y = a[j].x;b[cnt].x = a[j].y;b[cnt].val = a[j].val;cnt++;}}}for (i = 0; i < n; i++){for (j = 0; j < t; j++){if (b[j].y == i)cout << j << " " << b[j].x << " " << b[j].y << " " << b[j].val << endl;}}return 0;
}

更多推荐

PTA:三元组顺序表表示的稀疏矩阵转置Ⅱ

本文发布于:2023-11-16 15:30:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1627233.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:稀疏   矩阵   顺序   PTA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!