Advertisement
green1ant

2_1

Oct 15th, 2018
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.74 KB | None | 0 0
  1. program Project2;
  2. {$APPTYPE CONSOLE}
  3. uses
  4.    System.SysUtils;
  5. type
  6.    List = array of Integer;
  7. const
  8.    EnterError = 'Error! N should be natutal number from 1 to 31';
  9.    FileError = 'Error! Check file data';
  10.  
  11. procedure InputN(var N : Integer);
  12. var
  13.    IsCorrect : Boolean;
  14.    Input : string;
  15. begin
  16.    IsCorrect := False;
  17.    repeat
  18.       try
  19.          Writeln('Enter N - the number of days');
  20.          Readln(Input);
  21.          N := StrToInt(Input);
  22.          if(N < 1) or (N > 31) then
  23.             Writeln(EnterError)
  24.          else
  25.             IsCorrect := True
  26.       except
  27.          on E : EConvertError do
  28.             Writeln(EnterError);
  29.       end;
  30.    until IsCorrect;
  31. end;
  32.  
  33. procedure InputFromFile(N : Integer; var Days : List);
  34. var
  35.    InputFile : TextFile;
  36.    i, LastIndex : Integer;
  37. begin
  38.    try
  39.       AssignFile(InputFile, 'input.txt');
  40.       Reset(InputFile);
  41.       SetLength(Days, N);
  42.       LastIndex := N - 1;
  43.       for i := 0 to LastIndex do
  44.          Read(InputFile, Days[i]);
  45.       CloseFile(InputFile);
  46.    except
  47.       Writeln(FileError);
  48.    end;
  49.    for i := 0 to LastIndex do
  50.       Write(Days[i], ' ');
  51. end;
  52.  
  53. function GetAmountOfColdDays(var Days : List) : Integer;
  54. var
  55.    Counter, i, LastIndex : Integer;
  56. begin
  57.    Counter := 0;
  58.    LastIndex := High(Days);
  59.    for i := 0 to LastIndex do
  60.       if Days[i] < 0 then
  61.          Inc(Counter);
  62.    GetAmountOfColdDays := Counter;
  63. end;
  64.  
  65. procedure Main();
  66. var
  67.    N : Integer;
  68.    Days : List;
  69. begin
  70.    Writeln('This program can cal how many times temperature was below 0 degrees');
  71.    InputN(N);
  72.    InputFromFile(N, Days);
  73.    Writeln('');
  74.    Writeln('There are ', GetAmountOfColdDays(Days), ' days with < 0 degrees');
  75.    Readln;
  76. end;
  77.  
  78. begin
  79.    Main();
  80. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement