Guest User

Untitled

a guest
Apr 10th, 2018
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. MODULE Zadatak1;
  2. FROM InOut IMPORT WriteString, ReadString, WriteLn, WriteInt;
  3. FROM FIO IMPORT File, Open, Close, Create, Exists, RdInt, WrCard, WrInt, WrLn;
  4.  
  5. TYPE
  6.   brojevi = RECORD
  7.               niz : ARRAY [1..100] OF INTEGER;
  8.               brojel: CARDINAL;
  9.             END;
  10.   String = ARRAY [1..100] OF CHAR;
  11.  
  12. VAR
  13.   br: brojevi;
  14.   ime: String;
  15.  
  16. PROCEDURE UcitajBrojeve(ime:String; VAR br:brojevi);
  17. VAR
  18.   f:File;
  19.   i:CARDINAL;
  20. BEGIN
  21.   f:=Open(ime);
  22.   br.brojel:=RdInt(f);
  23.   FOR i:=1 TO br.brojel DO
  24.     br.niz[i]:=RdInt(f);
  25.   END;
  26.   Close(f);
  27. END UcitajBrojeve;
  28.  
  29. PROCEDURE SnimiBrojeve(br:brojevi);
  30. VAR
  31.   f:File;
  32.   i:CARDINAL;
  33. BEGIN
  34.   WriteString("Unesite ime fajla u koji zelite da snimite niz brojeva: ");
  35.   ReadString(ime);
  36.   f:=Create(ime);
  37.   WrCard(f,br.brojel,0);
  38.   FOR i:=1 TO br.brojel DO
  39.     WrLn(f);;
  40.     WrInt(f,br.niz[i],0);
  41.   END;
  42.   WriteString("Niz brojeva je uspesno snimljen u fajl ");
  43.   WriteString(ime);
  44.   WriteLn;
  45. END SnimiBrojeve;
  46.  
  47. PROCEDURE StampajBrojeve(br:brojevi);
  48. VAR
  49.   i:CARDINAL;
  50. BEGIN
  51.   WriteString("Brojevi u nizu su: ");
  52.   WriteLn;
  53.   FOR i:=1 TO br.brojel DO
  54.     WriteInt(br.niz[i],0);
  55.     WriteLn;
  56.   END;
  57. END StampajBrojeve;
  58.  
  59. PROCEDURE SortirajBrojeve(VAR br:brojevi);
  60. VAR
  61.   i, j:CARDINAL;
  62.   temp:INTEGER;
  63. BEGIN
  64.   FOR i:=2 TO br.brojel DO
  65.     temp:= br.niz[i];
  66.     j:=i-1;
  67.     WHILE (j>0) & (temp < br.niz[j]) DO
  68.       br.niz[j+1]:= br.niz[j];
  69.       DEC(j);
  70.     END;
  71.     br.niz[j+1]:= temp;
  72.   END;
  73.   WriteString("Brojevi u nizu su sortirani!");
  74.   WriteLn;
  75. END SortirajBrojeve;
  76.  
  77. BEGIN
  78.   REPEAT
  79.     WriteString("Unesite ime fajla u kome se nalaze brojevi: ");
  80.     ReadString(ime);
  81.     IF Exists(ime) THEN
  82.       UcitajBrojeve(ime, br);
  83.     END;
  84.   UNTIL Exists(ime);
  85.   StampajBrojeve(br);
  86.   SortirajBrojeve(br);
  87.   StampajBrojeve(br);
  88.   SnimiBrojeve(br);
  89.  
  90. END Zadatak1.
Add Comment
Please, Sign In to add comment