C# unhandled error: "Index was outside the bounds of the array" -


using system; using system.collections.generic;  namespace matrix_algebra {     public struct s_matrix_size     {         public int size_r, size_c;         public s_matrix_size(int r, int c)         {             this.size_r = r;             this.size_c = c;         }     }      public class c_matrix_entries     {         private s_matrix_size _size;         private double[,] _entry;         public c_matrix_entries()         {             int r, c;             console.writeline("enter number of rows , columns ");              r = convert.toint32(console.readline());             c = convert.toint32(console.readline());             _size = new s_matrix_size(r, c);              _entry = new double [_size.size_r,_size.size_c];              console.writeline("enter entries first row [left right] last row ");             (int = 0; i<_size.size_r; i++)             {                 console.writeline("enter {0} row", + 1);                 (int j = 0; j<_size.size_c;j++)                 {                     _entry[i, j] = convert.todouble(console.readline());                 }             }                }         public s_matrix_size size { { return _size; } }             //property         public double[,] entry { { return _entry; } }     } }  namespace matrix_process_algebra {     using matrix_algebra;     public class starthere     {         static void main()                                                                                      // main         {             c_matrix_entries matrix = new c_matrix_entries();             if (matrix.size.size_c == matrix.size.size_r)             {                 if (matrix.size.size_c == 2)                 {                     console.writeline("determinant of matrix? ");                     console.writeline("yes <y> or no <n> ?");                     switch (console.readline())                     {                         case "n":                         case "no":                         case "n":                         case "no":                         case "no":                             console.writeline("goodbye!!");                             break;                         case "yes":                         case "y":                         case "y":                         case "yes":                             console.writeline("the determinant of entered matrix  ");                             sqr_determinant process_2x2 = new sqr_determinant();                             double result = process_2x2.sqr_determinant_2x2(matrix.entry);                             console.write(result);                             console.readline();                             break;                      }                 }                 if (matrix.size.size_c == 3)                 {                     console.writeline("determinant of matrix? ");                     console.writeline("yes <y> or no <n> ?");                     switch (console.readline())                     {                         case "n":                         case "no":                         case "n":                         case "no":                         case "no":                             console.writeline("goodbye!!");                             break;                         case "yes":                         case "y":                         case "y":                         case "yes":                             console.writeline("the determinant of entered matrix  ");                             sqr_determinant process_3x3 = new sqr_determinant();                             double result = process_3x3.sqr_determinant_3x3(matrix.entry);                             console.write(result);                             console.readline();                             break;                      }                 }                  if (matrix.size.size_c == 4)                 {                     console.writeline("determinant of matrix? ");                     console.writeline("yes <y> or no <n> ?");                     switch (console.readline())                     {                         case "n":                         case "no":                         case "n":                         case "no":                         case "no":                             console.writeline("goodbye!!");                             break;                         case "yes":                         case "y":                         case "y":                         case "yes":                             console.writeline("the determinant of entered matrix  ");                             sqr_determinant process_4x4 = new sqr_determinant();                             double result = process_4x4.sqr_determinant_4x4(matrix.entry);                             console.write(result);                             console.readline();                             break;                      }                 }                }         }     }     public class sqr_determinant     {         public class c_sqr_matrix_3x3                                                                //matrix 3x3         {             private double[,] _entries = new double[3, 3];             public c_sqr_matrix_3x3(double a,double b,double c,double d,double e,double f,double g,double h,double i)             {                 this._entries[1, 1] = a;                 this._entries[1, 2] = b;                 this._entries[1, 3] = c;                 this._entries[2, 1] = d;                 this._entries[2, 2] = e;                 this._entries[2, 3] = f;                 this._entries[3, 1] = g;                 this._entries[3, 2] = h;                  this._entries[3, 3] = i;              }             public double[,] entries { { return _entries; } }         }          public class c_sqr_matrix_2x2                                                               //matrix 2x2          {              private double[,] _entries = new double[2,2];             public c_sqr_matrix_2x2(double a,double b, double c, double d)             {                 this._entries[0, 0] = a;                 this._entries[0, 1] = b;                 this._entries[1, 0] = c;                 this._entries[1, 1] = d;             }             public double[,] entries { { return _entries; } }         }          public double sqr_determinant_2x2(double[,] entry)                                          //determinant 2x2         {             return entry[0, 0] * entry[1, 1] - entry[0, 1] * entry[1, 0];         }          public double sqr_determinant_3x3(double[,] entry)                                          //determinant 3x3         {              c_sqr_matrix_2x2 _2233 = new c_sqr_matrix_2x2(entry[1,1],entry[1,2],entry[2,1],entry[2,2]);             c_sqr_matrix_2x2 _1133 = new c_sqr_matrix_2x2(entry[0,1],entry[0,2],entry[2,1],entry[2,2]);             c_sqr_matrix_2x2 _1122 = new c_sqr_matrix_2x2(entry[0,1],entry[0,2],entry[1,1],entry[1,2]);              return entry[0, 0] * sqr_determinant_2x2(_2233.entries) - entry[1, 0] * sqr_determinant_2x2(_1133.entries) + entry[2, 0] * sqr_determinant_2x2(_1122.entries);         }         public double sqr_determinant_4x4(double[,] entry)         {             c_sqr_matrix_3x3 _2244 = new c_sqr_matrix_3x3(entry[1, 1], entry[1, 2], entry[1, 3], entry[2, 1], entry[2, 2], entry[2, 3], entry[3, 1], entry[3, 2], entry[3, 3]);             c_sqr_matrix_3x3 _1144 = new c_sqr_matrix_3x3(entry[0, 1], entry[0, 2], entry[0, 3], entry[2, 1], entry[2, 2], entry[2, 3], entry[3, 1], entry[3, 2], entry[3, 3]);             c_sqr_matrix_3x3 _1144_ = new c_sqr_matrix_3x3(entry[0, 1], entry[0, 2], entry[0, 3], entry[1, 1], entry[1, 2], entry[1, 3], entry[3, 1], entry[3, 2], entry[3, 3]);             c_sqr_matrix_3x3 _1133 = new c_sqr_matrix_3x3(entry[0, 1], entry[0, 2], entry[0, 3], entry[1, 1], entry[1, 2], entry[1, 3], entry[2, 1], entry[2, 2], entry[2, 3]);             return entry[0, 0] * sqr_determinant_3x3(_2244.entries) - entry[1, 0] * sqr_determinant_3x3(_1144.entries) +                 entry[2, 0] * sqr_determinant_3x3(_1144_.entries) - entry[3, 0] * sqr_determinant_3x3(_1133.entries);         }     } } 

i tried debug , find error still cannot find error.

your constructor c_sqr_matrix_3x3 1 of issues. arrays zero-indexed. see other lines you're treating object 1-indexed.

public c_sqr_matrix_3x3(double a,double b,double c,double d,double e,double f,double g,double h,double i) {     this._entries[1, 1] = a;     this._entries[1, 2] = b;     this._entries[1, 3] = c;     this._entries[2, 1] = d;     this._entries[2, 2] = e;     this._entries[2, 3] = f;     this._entries[3, 1] = g;     this._entries[3, 2] = h;      this._entries[3, 3] = i;  } 

should be

public c_sqr_matrix_3x3(double a,double b,double c,double d,double e,double f,double g,double h,double i) {     this._entries[0, 0] = a;     this._entries[0, 1] = b;     this._entries[0, 2] = c;     this._entries[1, 0] = d;     this._entries[1, 1] = e;     this._entries[1, 2] = f;     this._entries[2, 0] = g;     this._entries[2, 1] = h;      this._entries[2, 2] = i;  } 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -