Signumfunktion für Matrix
-
Ich grüße euch!
Irgendwie kriege ich meine Wegematrix über die Signumfunktion nicht ausgedruckt welchen Fehler habe ich da gemacht??int *signum_fkt(int *a, int n){ int i,j; for(i=0; i<n; i++){ for(j=0; j<n; j++){ if((a+i*n+j)>0){ return (int*)(1); }else{ return (int*)(-1); } if((a+i*n+j)==0){ return (int*)(0); } } } }//end of signum_fkt void ausgabe_wegematrix(int *a, int n){ int i,j; printf("\n"); for(i=0; i<n; i++){ for(j=0; j<n; j++){ printf("%d", *(a+i*n+j)); } printf("\n"); } }//end of ausgabe_wegematrix
-
So vielleicht?
void v_sign(int* input, int* output, size_t length) { int idx; int c_val; for(idx = 0; idx < length; ++idx) { c_val = input[idx]; if(c_val > 0) { output[idx] = 1; } else if(c_val < 0) { output[idx] = -1; } else { output[idx] = 0; } } }