Hello nurulhudaismail,
PLEASE ALWAYS USE CODE TAGS (the <> formatting button), to the right of this box, when posting code.
It makes it easier to read your code and also easier to respond to your post.
http://www.cplusplus.com/articles/jEywvCM9/
http://www.cplusplus.com/articles/z13hAqkS/
Hint: You can edit your post, highlight your code and press the <> formatting button.
You can use the preview button at the bottom to see how it looks.
I found the second link to be the most help.
I am not sure what the answer is yet, but I did figure out that "L", a better name here to describe what the variable is or does would help, is defined as a 2D array and "p_k" is defined as a pointer to hold a single address, but the 2Darray has rows and columns, so it is not really a single address.
Even when I tried
double *p_k = &L
it did not work.
Someone more use to pointers will likely explain this before I can figure it out, But I am getting better with pointers.
BTW the "arg" variables inside the ()s of main are not used or needed.
You have defined five variables as "double" and one array as "float". Be consistent with your types and "double" is the preferred floating point type.
Also in regard to the {}s again be consistent. You end your first line for "main by pressing enter and starting the opening brace in the first column, but with your for loops you end the line with the opening brace. As much as I have seen this it still makes the code hard to follow. The advantage of putting the opening brace on the next line and along with proper indenting the code is much easier to read and follow. It also makes matching the {}s up when they are in the same column.
With the variable names that you have it makes it hard to figure out what yo are trying to do. I will admit that my understand of math is not what I would like it to be, but given a little time I can usually figure out what is trying to be done.
Hope that helps,
Andy