Canalblog
Suivre ce blog Administration + Créer mon blog

NecroCodes

30 octobre 2007

Version évoluée du maximum, il cherche les deux

Version évoluée du maximum, il cherche les deux plus grands nombres différents du tableau et fait leurs différences. Il affiche ensuite les endroits du tableau où on peut trouver ces maximums


program diffmax ;

uses Algotypes;
uses AlgoVecteurs;

var ;

var taille,i,j,max1,max2,k : integer;
    V,pos1,pos2 : Vecteur;

begin
    write('Entrez la taille du tableau : ');
    readln(taille);
    v:=init_vect(taille);
    pos1:=init_vect(taille);
    pos2:=init_vect(taille);

    i:=0;max1:=V[0];j:=0;max2:=V[1]
    while (j<taille) do begin pos1[j]:=0; j:=j+1; end;
    k:=0;
    while (j<taille) do begin pos2[j]:=0; j:=j+1; end;
    j,k:=0,0;
    while (i<taille) do
    begin
        if (V[i] > max1) then
        begin
            max1:=V[i]
            j:=0;
            while (j<=taille) do
            begin
                pos1[j]:=0;
                j:=j+1;
            end;
            j:=0;
            pos1[j]:=i;
        end;
        else
        begin
            if V[i]==max1 then
            begin pos1[j]:=i;j:=j+1; end;
        end;
        if ((V[i] > max2) and (V[i]<>max1)) then
        begin
            max2:=V[i]
            k:=0;
            while (k<=taille) do
            begin
                pos2[k]:=0;
                k:=k+1;
            end;
            k:=0;
            pos2[k]:=i;
        end;
        else
        begin
            if (V[i]==max2) then
            begin pos2[k]:=i;k:=k+1; end;
        end;

        i:=i+1;
    end;

    j:=1;k:=1;
    writeln('la différence des maximums est', max1-max2);
    writeln('le premier maximum est ',max1);
    writeln('Et sa ou ses positions dans le tableau : ');
    writeln(pos1[0]);
    while(j<taille)do
    begin
        if(pos1[j]<>0)then
        begin
            writeln(pos1[j]);
        end;
    end;

    writeln('le premier maximum est ',max2);
    writeln('Et sa ou ses positions dans le tableau : ');
    writeln(pos2[0]);
    while(k<taille)do
    begin
        if(pos2[k]<>0)then
        begin
            writeln(pos2[k]);
        end;
    end;
end.


Codeurs : Moi
Date : 30/10/2007
Language : Turbo-Pascal
Ligne : 86

Publicité
Publicité
30 octobre 2007

Maximum

Version inverse du minimum


program maximum;

uses AlgoVecteurs;
uses AlgoTypes;

var taille,i,j,max : integer;
    V,pos : Vecteur;

begin
    write('Entrez la taille du tableau : ');
    readln(taille);
    v:=init_vect(taille);
    pos:=init_vect(taille);

    i:=0;max:=V[0];j:=0;
    while (j<taille) do begin pos[j]:=0; j:=j+1; end;
    j:=0;
    while (i<taille) do
    begin
        if (V[i] > max) then
        begin
            max:=V[i]
            j:=0;
            while (j<=taille) do
            begin
                pos[j]:=0;
                j:=j+1;
            end;
            j:=0;
            pos[j]:=i;
        end;
        else
        begin
            if V[i]==max then
            begin pos[j]:=i;j:=j+1; end;
        end;
        i:=i+1;
    end;

    j:=1;
    writeln('le maximum est ',max);
    writeln('Et sa ou ses positions dans le tableau : ');
    writeln(pos[0]);
    while(j<taille)do
    begin
        if(pos[j]<>0)then
        begin
            writeln(pos[j]);
        end;
    end;
end.


Codeurs : Moi
Date : 30/10/2007
Language : Turbo-Pascal
Ligne : 51

30 octobre 2007

Minimum

Recherche le minimum et ses différentes positions dans un vecteurs dont les éléments sont aléatoires.


program minimum;

uses AlgoVecteurs;
uses AlgoTypes;

var taille,i,j,min : integer;
    V,pos : Vecteur;

begin
    write('Entrez la taille du tableau : ');
    readln(taille);
    v:=init_vect(taille);
    pos:=init_vect(taille);

    i:=0;min:=V[0];j:=0;
    while (j<taille) do begin pos[j]:=0; j:=j+1; end;
    j:=0;
    while (i<taille) do
    begin
        if (V[i] < min) then
        begin
            min:=V[i]
            j:=0;
            while (j<=taille) do
            begin
                pos[j]:=0;
                j:=j+1;
            end;
            j:=0;
            pos[j]:=i;
        end;
        else
        begin
            if V[i]==min then
            begin pos[j]:=i;j:=j+1; end;
        end;
        i:=i+1;
    end;

    j:=0;
    writeln('le minimum est ',min);
    writeln('Et sa ou ses positions dans le tableau : ');
    while(j<taille)do
    begin
        if(pos[j]<>0)then
        begin
            b:=false;
            writeln(pos[j]);
        end;
    end;
    if(b)then writeln(0);
end.


Codeurs : Moi
Date :
30/10/2007
Language :
Turbo-Pascal
Lignes :
52

30 octobre 2007

Bissextile

2ème programme, toujours simple, permettant de déterminer si une année est bissextile ou pas.


Program bissextile ;

uses AlgoTypes ;

var a : integer;

begin
     while (True) do
     begin
         writeln('Entrez une année :');
         readln(a);
         if ((a mod 4=0 and a mod 100<>0) or (a mod 400=0)) then
             writeln('Cette année est bissextile')
         else
              writeln('Cette année n''est pas bissextile');
     end;

end.


Codeurs : Moi
Date :
23/10/2007
Language :
Turbo-Pascal
Ligne : 17
 

30 octobre 2007

Essai

Voila un premier programme. Il s'agit tout bêtement de rentrer un chiffre et le programme dit sicelui-ci est positif ou negatif :


program essai;

uses algotypes;

var a : integer;

begin
    while('true') do
    begin
        write('Entrez un nombre entier : ');
        readln(a);
        if (a >= 0) then
            writeln('positif ou nul')
        else
            writeln('negatif')
    end;
end.



Codeurs :
Moi
Date : 30/10/2007
Language : Turbo-Pascal
Ligne : 17

Publicité
Publicité
Publicité