矩阵练习 【问题描述】 初始化矩阵a[4][4]={{4,7,2,1},{5,2,9,0},{6,8,1,7},{4,6,2,3}},从键盘输入n,将矩阵中所有小于n值的元素设置为-1,输出结果矩阵。
时间: 2023-10-06 12:08:25 浏览: 23
实现代码如下:
```python
a = [[4,7,2,1],[5,2,9,0],[6,8,1,7],[4,6,2,3]]
n = int(input("请输入n:"))
for i in range(len(a)):
for j in range(len(a[i])):
if a[i][j] < n:
a[i][j] = -1
for i in range(len(a)):
for j in range(len(a[i])):
print(a[i][j], end=" ")
print()
```
运行结果如下:
```
请输入n:5
-1 7 -1 -1
5 -1 9 -1
6 8 -1 7
-1 6 -1 -1
```
相关问题
C++题目60:矩阵练习 【问题描述】 初始化矩阵a[4][4]={{4,7,2,1},{5,2,9,0},{6,8,1,7},{4,6,2,3}},从键盘输入n,将矩阵中所有小于n值的元素设置为-1,输出结果矩阵。
下面是 C++ 代码实现:
```cpp
#include<iostream>
using namespace std;
int main()
{
int a[4][4]={{4,7,2,1},{5,2,9,0},{6,8,1,7},{4,6,2,3}};
int n;
cout<<"请输入n的值:";
cin>>n;
cout<<"处理前的矩阵为:"<<endl;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<"处理后的矩阵为:"<<endl;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(a[i][j]<n)
a[i][j]=-1;
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
```
上述代码中,首先定义了一个二维数组 a,用于存储矩阵的元素值。然后,从键盘输入 n 的值,遍历矩阵中的所有元素,将小于 n 的元素设置为 -1。最后,打印出处理前和处理后的矩阵。
1.请参考课堂练习代码,完成无向图的邻接矩阵建图和度数输出。要求: 1)补全所有
代码,确保程序能正确运行;2)在程序中使用注释,解释每个关键步骤的作用。
好的,我已经明白您的问题了。以下是代码实现和注释解释:
```python
# 无向图的邻接矩阵建图和度数输出
# 定义图类
class Graph:
def __init__(self, n):
# 初始化邻接矩阵,元素都为0
self.matrix = [[0] * n for i in range(n)]
# 保存顶点个数
self.n = n
# 添加一条边,v1和v2是边的两个顶点
def add_edge(self, v1, v2):
self.matrix[v1][v2] = 1
self.matrix[v2][v1] = 1
# 输出邻接矩阵
def print_matrix(self):
for i in range(self.n):
for j in range(self.n):
print(self.matrix[i][j], end=' ')
print()
# 输出各个顶点的度数
def print_degree(self):
for i in range(self.n):
# 对每个顶点进行遍历,累加邻接矩阵中对应行的元素
degree = sum(self.matrix[i])
print("顶点{}的度数为:{}".format(i, degree))
# 主程序
if __name__ == '__main__':
# 创建一个无向图,顶点个数为5
g = Graph(5)
# 添加边
g.add_edge(0, 1)
g.add_edge(0, 2)
g.add_edge(1, 2)
g.add_edge(1, 3)
g.add_edge(2, 3)
g.add_edge(2, 4)
g.add_edge(3, 4)
# 输出邻接矩阵
print("邻接矩阵为:")
g.print_matrix()
# 输出各个顶点的度数
print("各个顶点的度数为:")
g.print_degree()
```
代码解释如下:
首先定义了一个`Graph`类,用于表示无向图。其中,`__init__()`方法用于初始化一个邻接矩阵,矩阵中的所有元素都为0;`add_edge()`方法用于添加一条边,由于是无向图,所以需要同时在对称位置上设置元素为1;`print_matrix()`方法用于输出邻接矩阵;`print_degree()`方法用于输出各个顶点的度数。
在主程序中,首先创建了一个无向图对象`g`,并添加了多条边。然后分别调用了`print_matrix()`和`print_degree()`方法,输出邻接矩阵和各个顶点的度数。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)