SlideShare a Scribd company logo
1 of 7
Download to read offline
Sortare prin Interclasare Popovici Ioana
Enun ț ul Problemei ,[object Object]
5 35 6 1 9 13 17 0 20 9 6 35 1 0 17 20 9 13 5 20 17 0 1 35 6 13 5 9 13 5 17 20 1 0 6 35 17 20 9 13 5 6 35 1 0
+ + + + + + + 5 13 9 20 17 0 1 35 6 5 13 9 20 17 0 1 35 6 5 9 13 17 20 0 1 6 35 5 9 13 17 20 0 1 6 35 0 1 5 6 9 13 17 20 35
Algoritmul ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implementarea  mijlocul vectorului  ș i al sub ș irurilor m noul vector( ș ir) y  pozi ț ia  î n noul vector ny  contoarele i, j  capetele vectorului  ș i ale sub ș irului k, p  vectorul ini ț ial( ș irul) x num ă rul de elemente aflate  î n vector( ș ir) n Denumire Variabile Variabile
if  j>p then  for j:= I to m do begin ny:=ny+1; y[ny]:=x[j]; end; end; end;  BEGIN write('n=');readln(n); for i:=1 to n do begin write('x[',i,']=');readln(x[i]); end; inter(x,1,n); for i:=1 to n do write(x[i]:3); readln; END. program divide_et_impera; type  x,y=array[1..100]of integer; var x,y:vector; n, i, j, k, p, t, m: integer; procedure interclasare(var x:vector; k,p:integer); begin If (p-k)>=1 then begin if x[k]>x[p] then begin  aux:=x[k]; x[k]:=x[p]; x[p]:=aux; end; end else begin m:=trunc(p+k)div 2; interclasare(x,k, trunc(k+p)/2); interclasare(x, trunc((k+p)/2+1), p); i:=k; t:=m+1; ny:=1; j:=p; While (i<=m)and(j<=p)do if x[i]<x[j] then begin ny:=ny+1; y[ny]:=x[i]; i:=i+1; end else begin ny:=ny+1; y[ny]:=x[j];  j:=j+1; end; if i>m then for i:= j to p do begin ny:=ny+1; y[ny]:=x[i]; end;

More Related Content

What's hot

Tehnici de programare_triere_1522
Tehnici de programare_triere_1522Tehnici de programare_triere_1522
Tehnici de programare_triere_1522miklleee
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power pointmiklleee
 
Metoda backtracking(1)
Metoda backtracking(1)Metoda backtracking(1)
Metoda backtracking(1)Balan Veronica
 
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trieriiBalan Veronica
 
Sortare Prin Metoda1.
Sortare Prin Metoda1.Sortare Prin Metoda1.
Sortare Prin Metoda1.guest2c7851a
 
Sortare Prin Metoda1.
Sortare Prin Metoda1.Sortare Prin Metoda1.
Sortare Prin Metoda1.guest6c6dad
 

What's hot (12)

Madaç
MadaçMadaç
Madaç
 
Tehnici de programare_triere_1522
Tehnici de programare_triere_1522Tehnici de programare_triere_1522
Tehnici de programare_triere_1522
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power point
 
Metoda reluării
Metoda reluăriiMetoda reluării
Metoda reluării
 
RH
RHRH
RH
 
Metoda reluării(3)
Metoda reluării(3)Metoda reluării(3)
Metoda reluării(3)
 
Metoda backtracking(1)
Metoda backtracking(1)Metoda backtracking(1)
Metoda backtracking(1)
 
Metoda reluarii
Metoda reluariiMetoda reluarii
Metoda reluarii
 
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trierii
 
Sortare Prin Metoda1.
Sortare Prin Metoda1.Sortare Prin Metoda1.
Sortare Prin Metoda1.
 
Sortare Prin Metoda1.
Sortare Prin Metoda1.Sortare Prin Metoda1.
Sortare Prin Metoda1.
 
Quicksort
QuicksortQuicksort
Quicksort
 

Similar to Informatica

Tehnici de programare triere
Tehnici de programare triereTehnici de programare triere
Tehnici de programare trierecboldisor
 
00007 backtracking
00007 backtracking00007 backtracking
00007 backtrackingAlly Le
 
metoda_backtracking22.ppt
metoda_backtracking22.pptmetoda_backtracking22.ppt
metoda_backtracking22.pptOKMAN9
 
E info pascal_siii_011
E info pascal_siii_011E info pascal_siii_011
E info pascal_siii_011alisss09
 

Similar to Informatica (7)

Quicksort
QuicksortQuicksort
Quicksort
 
Tehnici de programare triere
Tehnici de programare triereTehnici de programare triere
Tehnici de programare triere
 
Vectori
VectoriVectori
Vectori
 
00007 backtracking
00007 backtracking00007 backtracking
00007 backtracking
 
Proiect tic
Proiect tic Proiect tic
Proiect tic
 
metoda_backtracking22.ppt
metoda_backtracking22.pptmetoda_backtracking22.ppt
metoda_backtracking22.ppt
 
E info pascal_siii_011
E info pascal_siii_011E info pascal_siii_011
E info pascal_siii_011
 

More from yoanna_ioana

More from yoanna_ioana (8)

Marele Canion
Marele CanionMarele Canion
Marele Canion
 
Presentation1
Presentation1Presentation1
Presentation1
 
Problema Rucsacului
Problema RucsaculuiProblema Rucsacului
Problema Rucsacului
 
Important
ImportantImportant
Important
 
Important
ImportantImportant
Important
 
Sortare Prin Metoda Bulelor1
Sortare Prin Metoda Bulelor1Sortare Prin Metoda Bulelor1
Sortare Prin Metoda Bulelor1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Important
ImportantImportant
Important
 

Informatica

  • 1. Sortare prin Interclasare Popovici Ioana
  • 2.
  • 3. 5 35 6 1 9 13 17 0 20 9 6 35 1 0 17 20 9 13 5 20 17 0 1 35 6 13 5 9 13 5 17 20 1 0 6 35 17 20 9 13 5 6 35 1 0
  • 4. + + + + + + + 5 13 9 20 17 0 1 35 6 5 13 9 20 17 0 1 35 6 5 9 13 17 20 0 1 6 35 5 9 13 17 20 0 1 6 35 0 1 5 6 9 13 17 20 35
  • 5.
  • 6. Implementarea mijlocul vectorului ș i al sub ș irurilor m noul vector( ș ir) y pozi ț ia î n noul vector ny contoarele i, j capetele vectorului ș i ale sub ș irului k, p vectorul ini ț ial( ș irul) x num ă rul de elemente aflate î n vector( ș ir) n Denumire Variabile Variabile
  • 7. if j>p then for j:= I to m do begin ny:=ny+1; y[ny]:=x[j]; end; end; end; BEGIN write('n=');readln(n); for i:=1 to n do begin write('x[',i,']=');readln(x[i]); end; inter(x,1,n); for i:=1 to n do write(x[i]:3); readln; END. program divide_et_impera; type x,y=array[1..100]of integer; var x,y:vector; n, i, j, k, p, t, m: integer; procedure interclasare(var x:vector; k,p:integer); begin If (p-k)>=1 then begin if x[k]>x[p] then begin aux:=x[k]; x[k]:=x[p]; x[p]:=aux; end; end else begin m:=trunc(p+k)div 2; interclasare(x,k, trunc(k+p)/2); interclasare(x, trunc((k+p)/2+1), p); i:=k; t:=m+1; ny:=1; j:=p; While (i<=m)and(j<=p)do if x[i]<x[j] then begin ny:=ny+1; y[ny]:=x[i]; i:=i+1; end else begin ny:=ny+1; y[ny]:=x[j]; j:=j+1; end; if i>m then for i:= j to p do begin ny:=ny+1; y[ny]:=x[i]; end;