begin process at 2012 05 30 19:06:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

triangularisat


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

triangularisat

mardi 10 mars 2009 à 04:03:32 | triangularisat

desco182

Salut a quiconque  sur le forum qui aimerait porter des corrections svp

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<dos.h>
#define max 10

float A[max][max], B[max], X[max], T;
int i, j, k, l, n;
char choix;
/***************************************************************************
                            phase de lecture
***************************************************************************/
 void GAUSS(){

  do{
  clrscr();
 gotoxy(9,11); cout<<" Entrer la dimension des matrices formant le systeme : ";
 cin>>n;
 if((n<2)||(n>max)){
 clrscr();
 gotoxy(9,11); cout<<"\a Dimension invalide, celle-ci doit etre comprise entre 2 et "<<max<<".";
 gotoxy(15,12); cout<<" SVP, Pressez 'ENTER' pour un autre essaie. ";
 delay(1700);
// getch();
 clrscr();
     }
 }
 while((n<2)||(n>max));

 clrscr();
 delay(800);
 cout<<"\n\tMAINTENANT, ENTRER LES ELEMENTS DANS L'ORDRE QUI SUIT.\n\n";
 delay(800);
 for(i=0;i<n;i++){
 for(j=0;j<n;j++){
 cout<<"\tEntrer l'element "<<(i+1)<<"e ligne "<<(j+1)<<"e clonne de la matrice : ";
 cin>>A[i][j];
 }
 cout<<endl<<"\tEntrer le "<<(i+1)<<"e element des termes constants : ";
 cin>>B[i];
 cout<<endl;
 }
 clrscr();
 gotoxy(15,10);cout<<"\tVOICI LA MATRICE AUGMENTEE (A:B)"<<endl<<endl;
 for(i=0;i<n;i++){
 cout<<"\t\t\t";
 for(j=0;j<n;j++)
 cout<<setw(5)<<A[i][j];
 cout<<setw(3)<<": "<<B[i];
 cout<<endl;
 }
 cout<<"\n\tpressez une touche pour proc,der a la triangularisation de celle-ci,\n";
 //cout<<"\n\tpuis appuyer sur cette touche pour prendre connaisance du resultat.\n\n";
 getch();

/***************************************************************************
                     phase de la triangularisation
***************************************************************************/

 for(k=0;k<n-1;k++){
    if(A[k][k]==0){
   l=k+1;
   while((A[l][k]==0)&&(l<n))
   l=l+1;

       if(l<n){
       for(j=0;j<n;j++){
       T=A[k][j];
       A[k][j]=A[l][j];
       A[l][j]=T;

       T=B[k];
       B[k]=B[l];
       B[l]=T;
       }
     }
       else{       // ou if(l==n)
       clrscr();
       gotoxy(5,10); cout<<"\n\a ATTENTION!!! Certaines incompatibilit,s rend Impossible la triangularisation"<<endl;
       getch();
       }
   }
    else  {       //ou  if(A[k][k]!=0)
   for(i=k+1;i<n;i++){
   for(j=k+1;j<n;j++)
   A[i][j] = A[i][j] - ((A[i][k]*A[k][j])/A[k][k]) ;
   B[i] = B[i] -((A[i][k]*B[k])/A[k][k]);
   for(j=0;j<=k;j++)
   A[i][j]=0;
      }
     }
   }

    if(l<n){
    clrscr();
    gotoxy(20,10); cout<<"  VOICI LA MATRICE TRIANGULARISEE AINSI OBTENUE"<<endl<<endl;
    for(i=0;i<n;i++){
    //if(l==n) break;
    cout<<"\t\t";
    for(j=0;j<n;j++)
    cout<<setw(10)<<A[i][j];
    cout<<setw(10)<<" : "<<B[i];
    cout<<"\n";
      }
    gotoxy(25,25); cout<<"Pressez une touche pour continuer";
    getch();
    }

/***************************************************************************
                         phase de traitement
***************************************************************************/

   clrscr();

  if(A[n-1][n-1]==0){

    if(B[n-1]!=0){
    gotoxy(10,10); cout<<"\n\t\tDesol,, le syst¦me n'admet pas de solution";
      }

    else{
    gotoxy(10,10); cout<<"\n\t\tLe syst¦me admet une infinit, de solution";
      }

    }
    else
    {
    X[n-1]=B[n-1]/A[n-1][n-1];
    for(i=n-2;i>=0;i--){
       float s=0;
       for(k=i+1;k<n;k++)
       s=s+(A[i][k]*X[k]);
       X[i]=(B[i]-s)/A[i][i];
       }
       for(i=0;i<8;i++){
       clrscr();
       gotoxy(25,i); cout<<" Le systeme a pour solution :"<<endl<<endl;
       delay(80);
         }
       for(i=0;i<n;i++)
       cout<<setw(25)<<setprecision(3)<<"\t\tX"<<(i+1)<<" = "<<X[i]<<endl;
      }

 getch();
 }

 void intro()
 {
  clrscr();
  cout<<"\n\n\n\n\n\t\t\tBIENVENUE DANS LE PROGRAMME";
  cout<<"\n\n\t\tCher utilisateur,\n";
  cout<<"\t Dans le soucis de vous faciliter les taches\n";
  cout<<"\t dans la resolution d'un systeme de n equation\n";
  cout<<"\t . n inconnue qui est presenter sur la forme de:\n";
  cout<<"\t\t\t [A].[x]= [b]\n\n";
  cout<<"\t Cet programme est construit juste pour permettre,\n";
  cout<<"\t en utilisant la methode de Gauss suite . n-1 iteration.\n\n";
  cout<<"\t Cette methode consiste tout d'abord . triangulariser\n";
  cout<<"\t la matrice de [A] augementer de [b] puis trouver\n";
  cout<<"\t l'ensemble des solutions du systeme ainsi obtenu";
    getch();
    }

 void MENU()
 {
 clrscr();
 textbackground(MAGENTA);
 gotoxy(10,4); cout<<"I-> INTRODUCTION";
 gotoxy(10,6); cout<<"G-> METHODE DE GAUSS";
 gotoxy(10,8); cout<<"Q-> QUITTER LE PROGRAMME";
 gotoxy(15,9); cout<<"FAITES UN CHOIX : ";
 choix=getch();
 switch(choix){
 case 'i':
 case 'I':
     {
     intro();
     break;
     }
 case 'g':
 case 'G':
     {
     GAUSS();
     break;
     }
 case 'q':
 case 'Q':
     {
     break;
     }
 default:
 {
 gotoxy(10,22); cout<<"Mauvais choix";
 getch();
 }
 }
}

  main()
 {
 do{
 MENU();
 } while((choix!='q')&&(choix!='Q'));
 }

mardi 10 mars 2009 à 04:07:50 | Re : triangularisat

coucou747

Administrateur CodeS-SourceS
Réponse acceptée !
salut

tu veux qu'on corrige quoi ?
mercredi 11 mars 2009 à 17:52:38 | Re : triangularisat

desco182

salut !!!!!!
tout simplement je voudrais savoir si je pourrais pas faire ca autrement .
svp !!!!!!!!!!!


Cette discussion est classée dans : for, cout, gotoxy, clrscr, if


Répondre à ce message

Sujets en rapport avec ce message

clrscr(); et gotoxy(); dans conio.h ? [ par laurentl2000 ] Bonjour, Je suis débutant en C++ et j'ai pêché un cours sur Internet... Je suis au chapitre 2 sur 7... Voici mon problème : Je dois employer les fonct tableaux dans prototype erreur [ par darmoor ] Bonjour tout le monde! bon, j'ai un petit probleme de compilation au niveau d'un tableau 2D dans un prototype. J'ai demandé à quelqu'un qui s'y conna probleme avec un tableau a 3 dimensions [ par tomalille ] bonjour, j'utilise un tableau a 3 dimensions dans un procedure. Je ne comprend pas du tout les resultats de l'algo que j'ai implemente. Je modifie les Besoin d'aide en C - Fonction [ par bugs2600 ] Voici mon programme quelqu'un pourrait-il m'aider je dois faire une fonction et je ne vois pas comment la faire le non de ma fonction doit etre PRODMA problème de IF [ par ichigoZ710 ] Bonjour,je voulais avoir votre avis sur une partie de mon code qui fait des choses vraiment bizarre...disons que la condition d'un if ne se fait pas . c++ algo [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include algo C++ [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include Projet C Jeu d'echec [ par Hugo Dam ] Bonsoir, Je code actuellement un jeu d'echec. Celui ci compile bien mais lors de l'execution il m'affiche erreur de segmentation des lors que je fais Menu en C [ par acidjackproject ] Bonjour, j'aimerai faire un menu en C, dans lequel je peux voyager avec les flèches haut et bas. J'ai bien trouvé quelque chose a faire mais avec un d Grave problème de lecture d'un tableau string [ par alincoln54 ] Bonjour à tous,Le code suivant ne fonctionne pas (BCB C++) :#include #include #include #include #include <


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,576 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales