Существует код, который преобразует отношения в матрицуИспользование массива и функции для цикла
При компиляции он дает 2 ошибки. Я отлаживал его, но не могу найти настоящую причину.
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main() {
int i=0,j=0,k=0;
char a[] = "12345";
char b[] = "abcde";
char r[] = "1c2b3e4d5a";
// Array Long
int LA = sizeof(a)-1;
int LB = sizeof(b)-1;
int LR = sizeof(r)-1;
//index function
int index(char arr[],char v){ // [Error] a function-definition is not allowed here before '{' token
for(k=0;k<sizeof(arr)-1;k++){
if(arr[k]==v){
return k;
}
}
}
// trying printf("%d\n%d\n%d\n",LA,LB,LR);
int rel[LA][LB];
for(i=0;i<LR;i+=2){
int indexa = index(a,r[i]);
int indexb = index(b,r[i+1]);
rel[indexa][indexb]=1;
}
//print the matrix
for(i=0;i<LA;i++){
for(j=0;j<LB;j++){
printf("%3d",rel[i][j]);
}
printf("\n");
}
return -1;
} //[Error] expected '}' at end of input
Как я могу решить эту проблему?
Ошибки:
[Error] функция разрешения не допускается здесь до '{' лексема
[Error] ожидалось '}' в конце ввода
преобразовать это код из java-кода: Converting Relation to Matrix
Каковы ошибки? – skandigraun
Кроме того, на самом деле это не похоже на код Java, более похожий на c. – skandigraun
Вы не можете определить функцию внутри основного тела –