Newsgroup: it.comp.lang.c
Titolo: Aiutooooo

Ho urgente bisogno di un programma in linguaggio c (calcolo del determinante
di una matrice di ordine 4x4) e della relativa spiegazione, da presentare
entro il prossimo venerdě per l'esame di laboratorio, vi prego aiutatemi,
sono nelle vostre mani. Anticipatamente grazie a tutti coloro che
raccogliranno la mia richiesta, Enrica.


Be' almeno sei stata onesta a dire perche' ti serve il programma :)
Se pero' ti serviamo la pappa fatta, come fai ad imparare il C ?
Ciao, Andrea
-- 
------------------------------------
arimicci @@ aritaly. com  .~~~.  ))
                (\__/)  .'     )  ))
                /o o  \/     .~
Andrea Rimicci {o_,    \    {
                 / ,  , )    \     .
 C,C++ Developer `~  '-' \    } ))
                _(    (   )_.'
   and         '---..{____}
OS/2 Warp Server for Ebusiness admin
--------- OS/2 V5 "Phoenix" --------

raccogliranno la mia richiesta, Enrica.
vado al volo (occhio che non ho compilato) :
#include <stdio.h>
typedef double TMatrice[4][4] ;
/* definizione del tipo TMatrice di 4 x 4 double */
void ChiediMatrice( TMatrice *PMatrice ) 
/* chiede all'utente l'immissione dei coefficienti */
{
     int i, j ;
     for ( i = 0 ; i < 4 ; i++ )
         for ( j = 0 ; j < 4 ; j++ )
         {
             printf( "Matrice[%f][%f] = ", i, j ) ;
             scanf( "%lf", &PMatrice[i][j] ) ;
         }
} 
double CalcolaDeterminante( TMatrice *PMatrice ) 
{
       double A = PMatrice[0][0] ; /* prima riga */
       double B = PMatrice[0][1] ;
       double C = PMatrice[0][2] ;
       double D = PMatrice[0][3] ;
       double E = PMatrice[1][0] ; /* seconda riga */
       double F = PMatrice[1][1] ;
       double G = PMatrice[1][2] ;
       double H = PMatrice[1][3] ;
       double I = PMatrice[2][0] ; /* terza riga */
       double J = PMatrice[2][1] ;
       double K = PMatrice[2][2] ;
       double L = PMatrice[2][3] ;
       double M = PMatrice[3][0] ; /* quarta riga */
       double N = PMatrice[3][1] ;
       double O = PMatrice[3][2] ;
       double P = PMatrice[3][3] ;
       return A*(F*(K*P-O*L)-G*(J*P-L*N)+H*(J*O-K*N))-
              B*(E*(K*P-O*L)-G*(I*P-L*M)+H*(I*O-K*M))+
              C*(E*(J*P-L*N)-F*(J*P-L*N)+H*(I*N-J*M))-
              D*(E*(J*O-K*N)-F*(I*O-K*M)+G*(I*N-J*M)) ;
}
int main()
{
    TMatrice *PtrMatrice = malloc( sizeof (TMatrice) ) ;
    ChiediMatrice( PtrMatrice ) ;
    printf( "Il risultato e' %9.3%f\n", 
            CalcolaDeterminante( PtrMatrice ) ;
}
/* temo che ci sia qualche errore nel calcolo del determinante,
   controlla meglio le moltiplicazioni */
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

 }
EMG

 raccogliranno la mia richiesta, Enrica.
  La risposta tipica in questi casi dovrebbe essere "Do your homeworks
by yourself"... ;)
  Cerca in rete "Numerical Recipes in C", algoritmo di riduzione di
Gauss-Jordan: il determinante di qualsiasi matrice soddisfacente ai
criteri a te certamente noti e` il prodotto dei termini sulla diagonale
principale.
	Alla prossima,
		Marco

raccogliranno la mia richiesta, Enrica.
Senti ma se non vuoi imparare il C che ti sei iscritta a fare a
ingegneria (suppongo o simili) ?
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

 ingegneria (suppongo o simili) ?
Perche' da quando iscriversi a ingegneria significa volere imparare il c?  Non
potrebbe "soltanto" avere il desiderio di diventare ingegnere?
Ivan Molella

CalcolaDeterminante( PtrMatrice ) ) ;
???
scusami, ma non ho capito le correzioni !


potrebbe "soltanto" avere il desiderio di diventare ingegnere?
Bell'ingegnere verrebbe fuori con questo presupposto..senta mi
progetterebbe questo ponte..si subito aspetti che vado a chiedere di
farmelo fare sul NG it.ponti.costruzioni e poi le porto subito il
progetto. Sui NG si pongono certamente i problemi, se ne discute, ci
si confronta, si pongono quesiti che da soli non si e' riusciti del
tutto a risolvere, ci si fa chiarire le cose ..ma non si scarica il
proprio lavoro sugli altri, soprattutto se tale lavoro e' stato
assegnato a fine didattico per far imparare + che un linguaggio di
programmazione , un metodo di analisis dei problemi


 scusami, ma non ho capito le correzioni !
Succede quando uno non compila gli esempi che invia (a meno che non mi
sia rimbecillito io, cosa possibilissima...).
EMG