Forum pour les élèves lycéens
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Bon plan achat en duo : 2ème robot cuiseur ...
Voir le deal
600 €

Devoir de contrôle pratique N°2

Aller en bas

Devoir de contrôle pratique N°2 Empty Devoir de contrôle pratique N°2

Message par haiethem Sam 23 Fév - 10:47

program kaprekar;
uses wincrt;
type tab = array[1..3] of integer;
var n:integer;
t:tab;




procedure saisir;
begin
repeat readln(n)
until (n >100)and(n<1000);
end;
procedure permut(var a,b:integer);
var z:integer;
begin
z:=a;
a:=b;
b:=z;
end;


procedure tri (var t:tab);
var i:integer;
p:boolean;
begin
repeat
p:=false;
for i:= 2 to 3 do
begin
if t[i]


Dernière édition par haiethem le Sam 23 Fév - 22:33, édité 1 fois
haiethem
haiethem

Messages : 485
Points : 27113
Réputation : 3
Date d'inscription : 08/11/2010
Age : 47

http://www.gdiri.info

Revenir en haut Aller en bas

Devoir de contrôle pratique N°2 Empty Re: Devoir de contrôle pratique N°2

Message par Invité Sam 23 Fév - 23:26

program devoir;
uses wincrt;
var
x:integer;
procedure saisir(var x:integer);
begin
repeat
writeln('entrer x');
readln(x);
until(x>=100) and (x<=999);
end;
procedure suite(x:integer);
var
ch,new,old,max,min,chmax,chmin:string;
i,m,e,mi,e1:integer;
r:boolean;
begin
repeat
str(x,ch);
old:=ch;
max:=ch[1];
min:=ch[1];
for i:=2 to length(ch) do
begin
if maxmax:=ch[i];
if min>ch[i] then
min:=ch[i];
end;
delete(ch,pos(max,ch),1);
delete(ch,pos(min,ch),1);
chmax:=max+ch+min;
chmin:=min+ch+max;
val(chmax,m,e);
val(chmin,mi,e1);
x:=m-mi;
str(x,new);
r:=true;
i:=1;
repeat
if(pos(new[i],old)=0)then
r:=false;
inc(i);
until(i>3)or(r=false);
until(r);
writeln(x);
end;
begin
saisir(x);
suite(x);
end.

Invité
Invité


Revenir en haut Aller en bas

Devoir de contrôle pratique N°2 Empty Re: Devoir de contrôle pratique N°2

Message par Invité Dim 24 Fév - 23:26

program devoir;
uses wincrt;
var
x:integer;
procedure saisir(var x:integer);
begin
repeat
writeln('entrer x');
readln(x);
until(x>=100) and (x<=999);
end;
procedure suite(x:integer);
var
new,old:string;
u,d,c,s,sm,max,min,i,k:integer;
r:boolean;
begin
repeat
str(x,old);
c:=(x div 100) ;
d:=((x div 10) mod 10 );
u:=( x mod 10 );
k:=u+d+c;
max:= c;
for i:= 1 to 2 do
begin
if max < d then
begin
max:=d;
min:=u;
if max < u then
max:=u;
min:=d;
end
else
begin
if d>u then
begin
min:=u;
if u> c then
max:=u
else
max:=c;
end
else
begin
min:=d;
if d> c then
max:=d
else
max:=c;
end;
end;
end;
s:=max*100+(k-(max+min))*10+min;
sm:=min*100+(k-(max+min))*10+max;
x:=s-sm;
str(x,new);
r:=true;
i:=1;
repeat
if(pos(new[i],old)=0)then
r:=false;
inc(i);
until(i>3)or(r=false);
until(r);
writeln(x);
end;
begin
saisir(x);
suite(x);
end.
une autre methode; à corriger Very Happy !

Invité
Invité


Revenir en haut Aller en bas

Devoir de contrôle pratique N°2 Empty Re: Devoir de contrôle pratique N°2

Message par haiethem Lun 25 Fév - 10:58

J'ai pas compris ton idée !?
haiethem
haiethem

Messages : 485
Points : 27113
Réputation : 3
Date d'inscription : 08/11/2010
Age : 47

http://www.gdiri.info

Revenir en haut Aller en bas

Devoir de contrôle pratique N°2 Empty Re: Devoir de contrôle pratique N°2

Message par Invité Lun 25 Fév - 12:51

j'ai, seulement , modifier la methode avec laquelle on cherche le max et le min d'un entier

Invité
Invité


Revenir en haut Aller en bas

Devoir de contrôle pratique N°2 Empty Re: Devoir de contrôle pratique N°2

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum