public bool IsNull() { MatrizIterator mi = new MatrizIterator(this); for (mi.begin(); !mi.end(); mi.next()) { if (this[mi.Linha, mi.Coluna] != 0) { return(false); } } return(true); }
public static Matriz operator*(Matriz m, int k) { MatrizIterator mi = new MatrizIterator(m); Matriz res = new Matriz(mi.Linhas, mi.Colunas); int lin, col; for (mi.begin(); !mi.end(); mi.next()) { lin = mi.Linha; col = mi.Coluna; res[lin, col] = m[lin, col] * k; } return(res); }
public static Matriz operator-(Matriz ml, Matriz mr) { MatrizIterator mi = new MatrizIterator(ml, mr); Matriz res = new Matriz(mi.Linhas, mi.Colunas); int lin, col; for (mi.begin(); !mi.end(); mi.next()) { lin = mi.Linha; col = mi.Coluna; res[lin, col] = ml[lin, col] - mr[lin, col]; } return(res); }
public override string ToString() { System.Text.StringBuilder sb = new System.Text.StringBuilder(50); int lastLine = 0; MatrizIterator mi = new MatrizIterator(this); for (mi.begin(); !mi.end(); mi.next()) { if (lastLine != mi.Linha) { lastLine = mi.Linha; sb.Append("\n"); } sb.AppendFormat("{0,6} ", this[mi.Linha, mi.Coluna]); } return(sb.ToString()); }
public bool IsTranspost(Matriz m) { if (this.Linhas != m.Colunas || this.Colunas != m.Linhas) { return(false); } MatrizIterator mi = new MatrizIterator(this); int lin, col; for (mi.begin(); !mi.end(); mi.next()) { lin = mi.Linha; col = mi.Coluna; if (this[lin, col] != m[col, lin]) { return(false); } } return(true); }
public override bool Equals(object m) { Matriz mm = (Matriz)m; if (this.Colunas != mm.Colunas || this.Linhas != mm.Linhas) { return(false); } MatrizIterator mi = new MatrizIterator(this); int lin, col; for (mi.begin(); !mi.end(); mi.next()) { lin = mi.Linha; col = mi.Coluna; if (this[lin, col] != mm[lin, col]) { return(false); } } return(true); }