我的代码正在构建矩阵计算器。我有一个矩阵数组,一个用于构建矩阵的函数,该函数获取指向所需矩阵的指针(6个之一)和指向要输入矩阵的参数数组的指针。另一个功能是print_mat以打印矩阵。
问题是:我有以下矩阵:MAT_A,MAT_B ...... MAT_F。 当我向MAT_X输入参数时,它也显示MAT_X-1。例如-如果我将参数添加到MAT_B,则MAT_A也将以某种方式更新。
MAT type definition: typedef double MAT[N][N];
MAT array: MAT matrices[6];
printing matrix function:
void print_mat(MAT * mat1){
int i=0,j=0;
printf("the matrix is:\n\n");
for(i=0;i<N;i++){
for (int j = 0; j < N ; ++j){
printf("%.2f ",*mat1[i][j]);
if (j==N-1) /* end of line, last parameter on this line so move to the next one */
printf("\n");
}
}
}
将参数输入矩阵函数:
void read_mat (MAT *mat1 , double * parameters){
int i=0,j=0,index=0;
for(i=0;i<N;i++){
for (int j = 0; j < N ; ++j){
*(mat1)[i][j]=parameters[index];
index++;
}
}
}
我如何调用要使用的函数:(相关的案例是案例0和1)
void execute(MAT *matrices,int *parameters, double *scalars, int command_index){
switch (command_index){
case 0:
read_mat(&matrices[parameters[0]],scalars);
break;
case 1:
print_mat(&matrices[parameters[0]]);
break;
case 2:
add_mat(&matrices[parameters[0]],&matrices[parameters[1]],&matrices[parameters[2]]);
break;
case 3:
sub_mat(&matrices[parameters[0]],&matrices[parameters[1]],&matrices[parameters[2]]);
break;
case 4:
mul_mat(&matrices[parameters[0]],&matrices[parameters[1]],&matrices[parameters[2]]);
break;
case 5:
mul_scalar(&matrices[parameters[0]],scalars,&matrices[parameters[1]]);
break;
case 6:
trans_mat(&matrices[parameters[0]],&matrices[parameters[1]]);
break;
default: /* stop command */
stop();
break;
}
}
命令:read_mat MAT_B,1,2.3456,-7.89 命令:print_mat MAT_B 结果: 矩阵是://(MAT_B)
1.00 2.35 -7.89 0.00
0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
但同时MAT_A: 命令:print_mat MAT_A
0.00 0.00 0.00 0.00
1.00 2.35 -7.89 0.00
0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
(应该全为零)
答案 0 :(得分:2)
如果您想收到import pandas as pd
import html5lib
import lxml
from bs4 import BeautifulSoup
import requests
site = 'https://etfdb.com/themes/smart-beta-etfs/#complete-list&sort_name=assets_under_management&sort_order=desc&page=1'
page1 = requests.get(site, proxies = proxy_support)
page1
page1.status_code
page1.text
from bs4 import BeautifulSoup
soup = BeautifulSoup(page1.text, 'html.parser')
print(soup)
print(soup.prettify())
table = soup.find_all("div", class_ = "fixed-table-body")
table
,则需要
MAT
代替
void print_mat(MAT mat1){ // same as void print_mat(double mat1[N][N]){
在这里
void print_mat(MAT * mat1){ // You don't want a pointer to a 2D array
您不想取消引用
printf("%.2f ",*mat1[i][j]);
与printf("%.2f ", mat1[i][j]);