Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program bac2013;
- Uses Wincrt;
- Type
- mat = Array [1..24,1..24] Of Integer;
- seq = Record
- NL,ICD,ICF: Integer;
- End;
- tab = Array [1..50] Of seq;
- Var
- f: Text;
- m: mat;
- l,c: Integer;
- Procedure creation (Var f:Text);
- Begin
- Assign (f,'C:\bac\Long_Seq.txt');
- End;
- Procedure s0mme (m:mat;i,j,c:Integer;Var x,compt:Integer);
- Begin
- //faire la somme a partir de la colonne j jusqu'a la fin
- x := 0;
- compt := j-1;
- Repeat
- compt := compt+1;
- x := x+m[i,compt];
- Until (x=0) Or (compt=c);
- End;
- Procedure remplir (Var m:mat;Var l,c:Integer);
- Var
- i,j: Integer;
- Begin
- //remplissage de la matrice
- Repeat
- Write ('Saisir L: ');
- Readln (l);
- Write ('Saisir c: ');
- Readln (c);
- Until (2<l) And (l<24) And (2<c) And (c<24);
- For i:=1 To l Do
- For j:=1 To c Do
- Begin
- Write('T[',i,',',j,']: ');
- Readln (m[i,j]);
- End;
- End;
- Function maxi (t:tab;n:Integer): Integer;
- Var
- x,s,i: Integer;
- Begin
- //recherche de la plus longue séquence
- x := t[1].ICF;
- s := t[1].ICF-t[1].ICD;
- For i:=1 To n Do
- If (s<t[i].ICF-t[i].ICD) Then
- Begin
- s := t[i].ICF-t[i].ICD;
- x := t[i].ICF;
- End;
- maxi := x;
- End;
- Procedure traitement (Var f:Text;m:mat;l,c:Integer);
- Var
- x,compt,i,j,long,max: Integer;
- t: tab;
- Begin
- long := 0;
- //Trouver les séquences d'éléments juxtaposés
- For i:=1 To l Do
- For j:=1 To c Do
- Begin
- s0mme (m,i,j,c,x,compt);
- If (x=0) Then
- //Insertion de la séquence trouvé dans le tableau d'enregistrement T
- Begin
- long := long+1;
- With t[long] Do
- Begin
- NL := i;
- ICD := j;
- ICF := compt;
- End;
- End;
- End;
- //Remplissage du fichier avec les données obtenues
- Rewrite (f);
- max := maxi(t,long);
- Writeln (f,'Le nombre d''elements de la plus longue sequence = ',max);
- For i:=1 To long Do
- With t[i] Do
- Begin
- If (ICF-ICD=max-1) Then
- Writeln (f,NL,'#',ICD,'#',ICF);
- End;
- Close (f);
- End;
- Begin
- creation (f);
- remplir (m,l,c);
- traitement (f,m,l,c);
- End.
Add Comment
Please, Sign In to add comment