Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 3.04 KB | None | 0 0
  1. program p3;
  2. const max = 20000;
  3.       max1 = 3;
  4. type matriz = array [1..max,1..max1] of integer;
  5. var i, k, d, m, a, num_d, num,n, num_data, max2 : integer;
  6.     m12, m1, mfinal : matriz;
  7.  
  8. procedure ler_data(var dia, mes, ano: integer; var m1 : matriz; n : integer);
  9. var j,i : integer;
  10. begin   k:=2;
  11.         i:=1;
  12.         while i <= n do
  13.         begin
  14.         j:=1;
  15.         read(dia);
  16.         if (d >= 1) and (d <= 31) then
  17.         begin
  18.             m1[i,j]:=d;
  19.            
  20.                 read(mes);
  21.                 if (m >= 1) and (m <= 12) then
  22.                 begin
  23.                         m1[i,j+1]:=m;                      
  24.    
  25.                         read(a);
  26.                         if (a > 0) and (a <= 2018) then
  27.                         begin
  28.                             m1[i,j+2]:=a;
  29.                            
  30.                         end
  31.                         else
  32.                         write('voce digitou um numero invalido')
  33.                 end
  34.                 else
  35.                 write('voce digitou um numero invalido')
  36.         end
  37.         else
  38.         write('voce digitou um numero invalido');
  39.         i:=i+1;
  40.     end;
  41. end;
  42.  
  43. procedure imprimir_matriz(var m1 : matriz; n :integer);
  44. var i,j : integer;
  45. begin
  46.  for i:=1 to n do
  47.     for j:=1 to 3 do
  48.     begin
  49.         write(m1[i,j],' ');
  50.         if j = 3 then
  51.         begin
  52.         writeln
  53.         end;
  54.     end;
  55. writeln('');
  56. end;
  57.  
  58.  
  59. (*procedure organizar_data(var m1 : matriz; n : integer)
  60.  var i,j, indice_menor : integer;
  61. begin
  62.     i:=1;
  63.     j:=1;
  64.     while j = n do
  65.     begin
  66.         menor_ano:= m1[j,3];
  67.             if (menor_ano > m1[i+1,3]) and (m1[i,3]> )then
  68.             begin
  69.                 auxiliar_a:= m1[j,3];
  70.                 auxiliar_m:= m1[j,2];
  71.                 auxiliar_d:= m1[j,1];
  72.                
  73.                 menor_ano:=m1[1,3];
  74.                 indice_menor := i;
  75.             end
  76.             else
  77.             indice_menor:=i;
  78.             m1[indice_menor,1]
  79.  
  80.     i:=i+1;
  81.     j:= j+1;                              
  82.     end;
  83.      m1[indice_menor,j]:= mfinal ;
  84. end;
  85. *)
  86.  
  87.  
  88. procedure organizar_data(var m1 : matriz; n : integer);
  89.  var i,j, menor_ano,auxiliar_m,auxiliar_a, auxiliar_d : integer;
  90. begin
  91.     j:=1;
  92.     menor_ano:=m1[1,3];
  93.     while j <> n do
  94.     begin
  95.             if (menor_ano > m1[j+1,3]) then
  96.             begin
  97.                 auxiliar_a:= m1[j,3];
  98.                 auxiliar_m:= m1[j,2];
  99.                 auxiliar_d:= m1[j,1];
  100.        
  101.                 m1[1,3]:=m1[j+1,3];
  102.                 m1[1,2]:=m1[j+1,2];
  103.                 m1[1,1]:=m1[j+1,1];
  104.  
  105.                 m1[j+1,3]:=auxiliar_a;
  106.                 m1[j+1,2]:=auxiliar_m;
  107.                 m1[j+1,1]:=auxiliar_d;
  108.        
  109.             menor_ano:=m1[1,3];
  110.             end;
  111.     k:=k+1;        
  112.     j:= j+1;                              
  113.     end;
  114. end;
  115.  
  116.  
  117.  
  118. begin
  119.                 read(n);
  120.                 max2:=max1;
  121.                 ler_data(d,m,a, m1,n);
  122.                 organizar_data(m1, n);
  123.                 imprimir_matriz(m1, n);
  124.  
  125.  
  126.  
  127. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement