It is wanted of me to implement the following function:
void calc ( double* a, double* b, int r, int c, double (*f) (double) )
Parameters a, r, c and f are input and b is output. “a” and “b” are two-dimensional matrices with “r” rows and “c” columns. “f” is a function pointer which can point to any function of the following type:
double function‐name ( double x ) {
…
}
Function calc
converts every element in matrix a, i.e., aij, to bij=f(aij) in matrix b.
I implement the calc
function as follows, and put it in a program to test it:
#include <stdlib.h>
#include <iostream>
using namespace std;
double f1(double x){
return x * 1.7;
}
void calc (double* a, double* b, int r, int c, double (*f) (double))
{
double input;
double output;
for(int i=0; i<r*c; i++)
{
input = a[i];
output = (*f)(input);
b[i] = output;
}
}
int main()
{
// Input array:
int r=3;
int c=4;
double* a = new double[r*c];
double* b = new double[r*c];
// Fill "a" with test data
//...
for (int i=0; i<r*c; i++)
{
a[i] = i;
}
// Transform a to b
calc(a, b, r, c, f1);
// Print to test if the results are OK
//...
for (int i=0; i<r*c; i++)
{
b[i] = i;
}
return 0;
}
The problem is, I can't compile it. This is the output of DevC++ when I click on Compile and Execute button:
What's wrong?
I appreciate any comment to make the implementation more efficient.
The /240
error is due to illegal spaces before every code of line.
eg.
Do
printf("Anything");
instead of
printf("Anything");
This error is common when you copied and pasted the code in the IDE.
As mentioned in a previous reply, this generally comes when compiling copy pasted code. If you have a Bash shell, the following command generally works:
iconv -f utf-8 -t ascii//translit input.c > output.c
It appears you have illegal characters in your source. I cannot figure out what character \240
should be but apparently it is around the start of line 10
In the code you posted, the issue does not exist: Live On Coliru
Your program has invalid/invisible characters in it.
You most likely would have picked up these invisible characters when you copy and paste code from another website or sometimes a document. Copying the code from the site into another text document and then copying and pasting into your code editor may work, but depending on how long your code is you should just go with typing it out word for word.
I got the same error when I just copied the complete line but when I rewrite the code again i.e. instead of copy-paste, writing it completely then the error was no longer present.
Conclusion: There might be some unacceptable words to the language got copied giving rise to this error.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With