E:\Projet 2012\Langage\Trois langage Java, JavaScprit et C++.java

E:\Projet 2012\Langage\Trois langage Java, JavaScprit et C++.java vendredi 30 décembre 2011 20:46
*=====================================================================================================*
/*================================================================================================
Universite de Djibouti Theoreme des restes chinois ( Projet Technique Numerique )
Cree par: Ibrahim Abdallah Ali Licence Math/Fond 2011/2012
Dini Ahmed Mohamed
************* Langage Java **********
===============================================================================================*/
*=====================================================================================================*
import javax.swing.*;
public class chinois {
private
int N,T,x,j,p,h,PGCD,f,i,nb1,nb2,ind1,ind2,l;
int rep1,rep4,rep6;
int cpt1,cpt4;
int []r,m,Y,M;
public void nomequation(){
cpt1=0;cpt4=0;x=0;rep1=0;rep4=0;rep6=0;
JOptionPane.showMessageDialog(null,"CE PROGRAMME RESOUDRE UN SYSTEME DE CONGRUENCE D'ORDRE N",
"Theoreme des Restes Chinois",JOptionPane.INFORMATION_MESSAGE);
do {
N=Integer.parseInt(JOptionPane.showInputDialog(null,"Precisez les nombres d'equation
Souhaitez vous? ","Resolution du systemes congruence",JOptionPane.INFORMATION_MESSAGE));
if (N<1){
JOptionPane.showMessageDialog(null,"Error du dimension? Veuillez reassir svp? ",
"Resolution du systemes congruence",JOptionPane.INFORMATION_MESSAGE);}}
while (N<1);
r=new int [N];
m=new int [N];
Y=new int [N];
M=new int [N];
}
public void liremodulo(){
JOptionPane.showMessageDialog(null,"saisissez l'element de l'equation ?","Saisir",JOptionPane.
INFORMATION_MESSAGE);
for(i=0;i<N;i++){
do{
JTextField mod =new JTextField();
JTextField res =new JTextField();
JOptionPane.showOptionDialog(null,
new Object[] {"Votre module :m["+(i+1)+"]=",mod,"votre reste : a["+(i+
1)+"]=",res},"saissiez les elements",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,null,null,null);
m[i]=Integer.parseInt(mod.getText());
r[i]= Integer.parseInt(res.getText());
if (m[i]<2){
rep6=JOptionPane.showConfirmDialog(null," vous venez de saisi un module: m["+(i+1)+"]="
+m[i]+"<2 !!! veuillez resaisir SVP ?"," Theoreme de Reste Chinois ",JOptionPane.
OK_CANCEL_OPTION);}}
while (m[i]<2&rep6==JOptionPane.OK_OPTION);
if (rep6!=JOptionPane.OK_OPTION){cpt1++;break;}
}
}
public void soultion(){
String[] Question = {"Particulier","Generale","sortir"};
if (cpt1==0){
for(j=0;j<N;j++){
for(i=0;i<N;i++){
-1-
E:\Projet 2012\Langage\Trois langage Java, JavaScprit et C++.java vendredi 30 décembre 2011 20:46
if (j!=i){
PGCD=m[j]; f=m[i];
while (PGCD != f) {
if (PGCD<f)
f=f-PGCD;
elsePGCD =PGCD -f;
}
if (PGCD!=1) {
cpt4++; nb1=m[j]; nb2=m[i]; ind1=i;ind2=j;break;}
}}}
if (cpt4==0){
T=m[0];
for (i=1;i<N;i++){
T=T*m[i];}
for (i=0;i<N;i++){
M[i]=T/m[i];}
for (i=0;i<N;i++){
Y[i]=1;
do {if ((M[i]*Y[i]-1)%m[i]!=0){
Y[i]++ ;}
}
while ((M[i]*Y[i]-1)%m[i]!=0); }
for (i=0;i<N;i++){
x=((r[i]*M[i]*Y[i])+x);}
int b=x;
x=x%T;
if (x<0){
x=x+T;}
if (T<=x){
x=x%T;
}
do {int rang =JOptionPane.showOptionDialog(null,"Preciser type solution !","Les solution
!",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,Question,Question[
2]);if (rang==0){
h=Integer.parseInt(JOptionPane.showInputDialog(null,"Veuillez saisi un valeur
initial","Saisir",JOptionPane.INFORMATION_MESSAGE));
p=x+(T*h);
JOptionPane.showMessageDialog(null,"la solution particulier est: x"+h+"="+p,
"Solution",JOptionPane.INFORMATION_MESSAGE);}
else if (rang==1){
JOptionPane.showMessageDialog(null,"les solution est x="+b+"["+T+"] ou
x="+x+"["+T+"]","les solutions du system",JOptionPane.INFORMATION_MESSAGE);}
rep4=JOptionPane.showConfirmDialog(null," Voulez vous trouvez d'autres solution ou
Solution Generale ","continue",JOptionPane.OK_CANCEL_OPTION);}
while (rep4==JOptionPane.OK_OPTION);
}
else {JOptionPane.showMessageDialog(null," les modulo m["+(ind1+1)+"]="+nb2+" et m["+(ind2+1
)+"]="+nb1+" ne sont pas premiers entre eux"," desole",JOptionPane.ERROR_MESSAGE); }
}
else if (cpt1!=0) {JOptionPane.showMessageDialog(null," Desole, vous n'avez pas voulu reassir
votre module. Donc votre modulo est inferieur à 2"," desole",JOptionPane.ERROR_MESSAGE); }}
public static void main(String[] args){
chinois Theormechinois=new chinois();
int rep1;
do {
Theormechinois.nomequation();
Theormechinois.liremodulo();
Theormechinois.soultion();
rep1=JOptionPane.showConfirmDialog(null,"voulez vous revenir au programmer"," Theoreme de
Reste Chinois ",JOptionPane.OK_CANCEL_OPTION);}
while (rep1==JOptionPane.OK_OPTION);
}
}
-2-
E:\Projet 2012\Langage\Trois langage Java, JavaScprit et C++.java vendredi 30 décembre 2011 20:46
*=====================================================================================================*
/*================================================================================================
Universite de Djibouti Theoreme des restes chinois ( Projet Technique Numerique )
Cree par: Ibrahim Abdallah Ali Licence Math/Fond 2011/2012
Dini Ahmed Mohamed
************* Langage Java Script **********
===============================================================================================*/
*====================================================================================================*
<HTML>
<HEAD> <TITLE>Theoreme des reste chinois</TITLE> <HEAD>
<SCRIPT LANGUAGE="JavaScript">
do {
var N=prompt("veuillez saisi la dimension N="," ");
var A=new Array(N)
var m=new Array(N)
var Y=new Array(N)
var M=new Array(N)
var a=new Array(N)
var cpt1=0;
var cpt4=0;
for (var i =0;i<N;i++){
do{
m[i]=parseInt(prompt(" m["+i+"]="," "));
if (m[i]<2){
var reponse1 =confirm("veuillez reassisir svp")
if (reponse1){ reponse1="true";}
else{cpt1++;break;}
} }
while(m[i]<2&reponse1=="true");
A[i]=parseInt(prompt(" a["+i+"]="," "));
}
if (cpt1==0){
for(j=0;j<N;j++){
for(i=0;i<N;i++){
if (j!=i){
PGCD=m[j]; f=m[i];
if (PGCD>0&& f>0) {
while (PGCD != f) {
if (PGCD<f)
f=f-PGCD;
else
PGCD =PGCD -f;
}
if (PGCD!=1) {
cpt4++; var nb1=m[j]; var nb2=m[i]; var ind1=i;var ind2=j;break;}
}
}
}
}
if (cpt4==0){
var T=m[0];
for (var i=1;i<N;i++){
T=T*m[i];}
for (var i=0;i<N;i++){
M[i]=T/m[i];}
for (var i=0;i<N;i++){
var q=1;
do {
if ((M[i]*q-1)%m[i]==0){ Y[i]=q;}
q++;}
while (((M[i]*Y[i]-1)%m[i]!=0));}
var x=0;
for (var i=0;i<N;i++){
-3-
E:\Projet 2012\Langage\Trois langage Java, JavaScprit et C++.java vendredi 30 décembre 2011 20:46
x=(A[i]*M[i]*Y[i])+x;}
var b=x;
x=x%T;
if (x<0){
x=x+T;}
if (T<=x){
x=x%T;}
alert("les solution sont x="+b+"["+T+"] ou x="+x+"["+T+"]");}
else alert("les modulo m["+(ind1+1)+"]="+nb2+" et m["+(ind2+1)+"]="+nb1+" ne sont pas premiers
entre eux")
}
else if (cpt1!=0) {alert(" Desole, vous n'avez pas voulu reassir votre module. Donc votre modulo
est inferieur à 2")}
var reponse4=confirm(" voulez vous revenir au programme ","Theoreme de reste chinois")
if (reponse4){ reponse4="true";}
else {break;}
}
while(reponse4="true");
</SCRIPT>
</BODY>
</HTML>
-4-
E:\Projet 2012\Langage\Trois langage Java, JavaScprit et C++.java vendredi 30 décembre 2011 20:46
*=====================================================================================================*
/*================================================================================================
Universite de Djibouti Theoreme des restes chinois ( Projet Technique Numerique )
Cree par: Ibrahim Abdallah Ali Licence Math/Fond 2011/2012
Dini Ahmed Mohamed
************* Langage C++ **********
===============================================================================================*/
*====================================================================================================*
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc,char *argv[])
{int N,T,x,j,p,h,PGCD,f,i,Z;
int rep1,rep2,rep3,rep4,rep5,rep6;
int cpt1,cpt4;
int nb1;int nb2;int ind1;int ind2;
do {
cpt4=0;x=0;Z=2;
cout << " bienvenue au programme theoreme de reste chinois \n";
cout<< " veuillez saisi les nombre d'equation souhaitez-vous \n" << "N= ";
cin>> N;
int A[N];
int m[N];
int Y[N];
int M[N];
int w[N][Z];
cout<< " veuillez saisi les elements du equation \n";
for (i=0;i<N;i++){
do{
cout << "m["<<(i+1)<<"]= ";
cin>> m[i];
if (m[i]<2){ cout<< " vous venez de saisir un module < 2 \n";
cout << "veuillez resaissi votre nombre \n";
}}
while (m[i]<2);
cout << "a["<<(i+1)<<"]= ";
cin>> A[i];
cout<< " \n";
}cout<< " \n";cout<< " \n";
for(j=0;j<N;j++){
for(i=0;i<N;i++){
if (j!=i){
PGCD=m[j]; f=m[i];
if (PGCD>0&& f>0) {
while (PGCD != f) {
if (PGCD<f)
f=f-PGCD;
else
PGCD =PGCD -f;
}if (PGCD!=1) {cpt4++; nb1=m[j]; nb2=m[i]; ind1=i;ind2=j;break;}}}}}
if (cpt4==0){
T=m[0];
for (i=1;i<N;i++){
T=T*m[i];}
for (i=0;i<N;i++){
M[i]=T/m[i];}
for (i=0;i<N;i++){
int q=1;
-5-
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !