Inverse matrice 3x3

Contenu du snippet

static void Main(string[] args)
        {
            double Determinant;
            double[,] matrice_inverse = new double[3, 3];
            double[,] matrice = new double[3, 3];
            double valeur;
            //La matrice//
            Console.WriteLine("Taper la matrice 3x3");
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                    matrice[i, j] = Convert.ToDouble(Console.ReadLine());
            }
            //Affichage matrice 3x3 introduite...
            Console.Write("La matrice 3x3:");
            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine("t");
                for (int j = 0; j < 3; j++)
                    Console.Write("t"+matrice[i, j]);
                Console.WriteLine("");
            }
            //Calcul du déterminant de la matrice 3x3
            double det1=matrice[0,0]*((matrice[1,1]*matrice[2,2])-(matrice[2,1]*matrice[1,2]));
            double det2 = matrice[0, 1] * ((matrice[1, 0]) * (matrice[2, 2]) - (matrice[2, 0] * matrice[1, 2]));
            double det3 = matrice[0, 2] * ((matrice[1, 0]) * (matrice[2, 1]) - (matrice[2, 0] * matrice[1, 1]));
            Determinant = det1 - det2 + det3;
            //if (Determinant == 0)
               // Console.WriteLine("La matrice n'est pas inversible");
            Console.WriteLine("Déterminant =" + Determinant);
            //Afficher La matrice transposée
            Console.WriteLine("");
            Console.WriteLine("La matrice transposée est:");
            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine("t");
                for (int j = 0; j < 3; j++)
                    Console.Write("t" + matrice[j, i]);
                Console.WriteLine("");
            }
            //Calcul de la matrice inverse
                valeur = ((matrice[1, 1] * matrice[2, 2]) - (matrice[2, 1] * matrice[1, 2]))/Determinant;
                double valeur1=- ((matrice[1, 0] * matrice[2, 2]) - (matrice[2, 0] * matrice[1, 2])/Determinant );
                double valeur2=+ ((matrice[1, 0] * matrice[2, 1]) - (matrice[2, 0] * matrice[1, 1])/Determinant);
                double valeur3=- ((matrice[0, 1] * matrice[2, 2]) - (matrice[2, 1] * matrice[0, 2])/Determinant );
                double valeur4=+ ((matrice[0, 0] * matrice[2, 2]) - (matrice[2, 0] * matrice[0, 2]) /Determinant);
                double valeur5=- ((matrice[0, 0] * matrice[2, 1]) - (matrice[2, 0] * matrice[0, 1])/Determinant);
                double valeur6 = +((matrice[0, 1] * matrice[1, 2]) - (matrice[1, 1] * matrice[0, 2]) / Determinant);
                double valeur7 = -((matrice[0, 0] * matrice[1, 2]) - (matrice[1, 0] * matrice[0, 2]) / Determinant);
                double valeur8 = +((matrice[0, 0] * matrice[1, 1]) - (matrice[1, 0] * matrice[0, 1]) / Determinant);
            //Affichage m-1
            Console.WriteLine("Voici la matrice inverse:");
            //for (int i = 0; i < 3; i++)
            //{
                Console.WriteLine("");
                Console.WriteLine("" + valeur + "t" + valeur3 + "t" + valeur6);
                Console.WriteLine("" + valeur1 + "t" + valeur4 + "t" + valeur7);
                Console.WriteLine("" +valeur2 + "t" + valeur5+ "t" + valeur8);
                Console.WriteLine("");
            //}
            
            Console.WriteLine("Appuyez sur une touche pour sortir");
            Console.ReadKey();
        }
    }
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.