Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχω πρόβλημα με πίνακα σε C#, δεν αλλάζουν οι τιμές στο Double Array! 

class Simplex
{
	// Input Data
	public double[,] A;
	public double[] b;
	public double[] c;

	public Simplex(int rows, int cols)
	{
		A = new double[rows, cols];
		b = new double[rows];
		c = new double[cols];
		
		Solve();
	}
	
	public void Solve(int rows, int cols)
	{
		//......
		double[,] Matrix = new double[rows + 1, cols + 1];	// Merge A, b and c
		Matrix = MergeMatrix();	// We will work with Merged Matrix now...
		
		//......
		
		// Divide (Pivot Row) with (Pivot Element)
		for(int i=0; i < len; i++)
		{
			// Matrix[pr, i] DONT CHANGE ALL VALUES!!!
			// This work only for few columns of row and after stop changing values :/  why?
			Matrix[pr, i] = Matrix[pr, i] / Matrix[pr, pc];
			
			// This work just fine for all row (all columns of row)
			MessageBox.Show( (Matrix[pr, i] / Matrix[pr, pc]).ToString("0.00") );
		}
	}

}
Δημοσ.

Πως ξέρεις πως δεν αλλάζουν; Δοκιμασες να κανεις step by step debugging?

 

Έκανα Debugging μέσω μηνυμάτων, δηλαδή μετά την αλλαγή της τιμής (Matrix[pc, i] = some value) έκανα MessageBox.Show(Matrix[pc, i])....

 

 

Δεν μπορώ να καταλάβω γιατί δουλεύει με μερικές στήλες μόνο... 

 

έβαλα να πιάνει και διαίρεση με το 0 (if x > 0) αλλά θα το δοκιμάσω με try-catch....

 

Μήπως έχει να κάνει που είναι double[,] και δεν είναι double[][] ?

Δημοσ.

Δεν γινεται αυτο που λες.  Το Matrix[pr, pc] που διαιρεις δεν ειναι σταθερο, γινεται 1 οταν i=pc,( και μετα διαιρεις με 1!!)

  • Like 1
Δημοσ.

Δεν γινεται αυτο που λες.  Το Matrix[pr, pc] που διαιρεις δεν ειναι σταθερο, γινεται 1 οταν i=pc,( και μετα διαιρεις με 1!!)

 

Σωστός!!! Έλεος!

 

όταν φτάσει Pivot Column αλλάζει το Pivot Element....

 

Waw! χριστέ μου! τέτοια "ευκολάκια" σε παιδεύουν καμιά φορά...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...