c - 矩阵加法(从字符串中获取矩阵名称)
问题描述
我正在尝试制作矩阵加法功能,但问题不在于加法。问题出在字符串中,使用输入命令,我必须检查一切是否正常。对于矩阵加法,我需要为输入获取 3 个矩阵名称。
我做了一个查找名称的算法,另一个检查矩阵名称(如果已定义)并保存为“matInd”的函数。我已将所有 matInd 保存在一个数组中。现在我需要调用 add_mat 函数进行操作,但是 add_mat 函数必须获取 3 个参数:double add_mat(double MAT1[N][N], double MAT2[N][N], double MAT3[N][N] ])
现在我不知道如何将 matInd 更改为 Matrix 名称来调用该函数。
也许我需要以另一种方式来做?
数学:
/* Data Structure */
typedef double mat[N][N];
矩阵名称:MAT_A、MAT_B、MAT_C、MAT_D、MAT_E、MAT_F
mymat.c:
/* Declare matrix and initialize to zero */
mat MAT_A = {0}, MAT_B = {0}, MAT_C = {0}, MAT_D = {0}, MAT_E = {0}, MAT_F = {0};
case ADD_MAT:
printf("add mat..\n");
int i = 0;
index = skip_white_char(command, index, commandLen);
if(is_comma(command[index])){
print_error(ILLEGAL_COMMA);
continue;
}
if(command[index]=='\n'){
print_error(MISS_PARAM);
continue;
}
clear_word(nextWord, MAX_WORD_LEN); /* Clear last word from nextWord */
index = get_word(command, nextWord, index);
matInd = which_mat(nextWord); /* Save the index of chosen mat */
if(matInd == UNKNOWN_MAT){
print_error(UNDEF_MAT_NAME);
continue;
}
else {
printf("%d ", matInd);
matrixMan[i++] = matInd;
}
while(is_comma(command[index])){
index++;
index = skip_white_char(command, index, commandLen);
if(is_comma(command[index])){
print_error(ILLEGAL_COMMA);
continue;
}
if(command[index]=='\n'){
print_error(MISS_PARAM);
continue;
}
clear_word(nextWord, MAX_WORD_LEN); /* Clear last word from nextWord */
index = get_word(command, nextWord, index);
matInd = which_mat(nextWord); /* Save the index of chosen mat */
if(matInd == UNKNOWN_MAT){
print_error(UNDEF_MAT_NAME);
continue;
}
else {
matrixMan[i++] = matInd;
}
index = skip_white_char(command, index, commandLen);
}
if(command[index]!='\n'){ /* There is parameters without comma between */
return MISS_COMMA;
}
continue;
解决方案
推荐阅读
- google-chrome-extension - Can't access function in another CoffeeScript file?
- mysql - Docker mysql 8 - 无法将 mysql 文件夹绑定到 Windows 10 文件夹。得到一个 mbind 错误
- java - Eclipse 引用 Jar 文件中的文件夹
- slim - Slim 3:如何从请求头中访问用户信息
- variables - 每次进入 gdb 时打印出局部变量
- javascript - 如何在 moz 扩展页面上执行用户脚本?
- django - 在 Uikit 中使用 django-crispy-forms
- xamarin.forms - 用于实现 ReactUI.XamForms 主详细信息页面的模式
- json - 尝试使用 Lift-JSON 从 Scala Map 生成 JSON 字符串时出现 NoSuchMethodError
- html - 从另一个页面导航到锚定链接