For loadmatrix the following should work:
int[] ia = new int[10];
int[] ja = new int[10];
double[] ar = new double[10];
ia[1] = 1; ja[1] = 1; ar[1] = 1.0; /* a[1,1] = 1 */
ia[2] = 1; ja[2] = 2; ar[2] = 1.0; /* a[1,2] = 1 */
ia[3] = 1; ja[3] = 3; ar[3] = 1.0; /* a[1,3] = 1 */
ia[4] = 2; ja[4] = 1; ar[4] = 10.0; /* a[2,1] = 10 */
ia[5] = 3; ja[5] = 1; ar[5] = 2.0; /* a[3,1] = 2 */
ia[6] = 2; ja[6] = 2; ar[6] = 4.0; /* a[2,2] = 4 */
ia[7] = 3; ja[7] = 2; ar[7] = 2.0; /* a[3,2] = 2 */
ia[8] = 2; ja[8] = 3; ar[8] = 5.0; /* a[2,3] = 5 */
ia[9] = 3; ja[9] = 3; ar[9] = 6.0; /* a[3,3] = 6 */
LPProblem lp = new LPProblem();
lp.AddCols(3);
lp.AddRows(3);
lp.LoadMatrix(ia, ja, ar);
lp.SetRowBounds(1, BOUNDSTYPE.Upper, 0, 100);
lp.SetRowBounds(2, BOUNDSTYPE.Upper, 0, 600);
lp.SetRowBounds(3, BOUNDSTYPE.Upper, 0, 300);
lp.SetObjCoef(1, 10);
lp.SetObjCoef(2, 6);
lp.SetObjCoef(3, 4);
lp.ObjectiveDirection = OptimisationDirection.MAXIMISE;
//par défaut, les bornes sont à 0.
lp.SetColBounds(1, BOUNDSTYPE.Lower, 0, 0);
lp.SetColBounds(2, BOUNDSTYPE.Lower, 0, 0);
lp.SetColBounds(3, BOUNDSTYPE.Lower, 0, 0);
//lp.WriteCPLEX("yo.lp");
Console.Out.WriteLine(lp.SolveSimplex().ToString());
Console.Out.WriteLine("tapez une touche.");
Console.In.Read();
About array size, yes it is shifted by one in glpk so I have to do it in C# as well.
Yo.