Advertisement
dimon2242

Untitled

Dec 23rd, 2016
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.10 KB | None | 0 0
  1. PROGRAM L3DT;
  2.  
  3. type
  4.     TC = array[1..8,1..11] of real;
  5. var
  6.     headerArr : array [1..6] of string[117]; //Header
  7.     textArr : array [1..8] of string[15]; //Text
  8.     moveArr : array [4..6] of real;
  9.     c : TC;
  10.     i, j, count : integer;
  11.     resultOne, resultTwo : real;
  12.     INP, OUTP : text;
  13.  
  14. begin
  15.     Assign(INP, 'data.dat');
  16.     reset(INP);
  17.     Assign(OUTP, 'outputData.dat');
  18.     rewrite(OUTP);
  19.    
  20.     for i := 1 to 6 do begin
  21.         readln(INP, headerArr[i]);
  22.         writeln(OUTP, headerArr[i]);
  23.     end;
  24.  
  25.     for i := 1 to 7 do begin
  26.         resultOne := 0;
  27.         resultTwo := 0;
  28.         read(INP, textArr[i]);
  29.         for j := 1 to 6 do begin
  30.             read(INP, c[i,j]);
  31.             if(j <= 3) then
  32.                 resultOne := resultOne + c[i,j]
  33.             else
  34.                 resultTwo := resultTwo + c[i,j];
  35.         end;
  36.         readln(INP);
  37.     c[i,7] := resultOne; //Всего за первый квартал
  38.     c[i,8] := resultTwo; //Всего за второй квартал
  39.     c[i,9] := c[i,7] + c[i,8];
  40.     end;
  41.    
  42.     for i:=1 to 7 do begin // Приводим в порядок последовательность столбцов
  43.         for count:=4 to 6 do
  44.             moveArr[count]:=c[i,count];
  45.         for j:=1 to 9 do begin
  46.             if(j=4) then
  47.                 c[i,j]:=c[i,7];
  48.         end;
  49.          for count:=4 to 6 do
  50.             c[i,count+1]:=moveArr[count];
  51.     end;
  52.    
  53.    
  54.     for i := 1 to 7 do begin
  55.         write(OUTP, textArr[i] : 17, headerArr[5][18]);
  56.         for j := 1 to 9 do begin
  57.             write(OUTP, c[i,j] : 10:2, headerArr[5][18]); //Заполнение остальных ячеек
  58.         end;
  59.         writeln(OUTP);
  60.     end;
  61.    
  62.     read(INP, textArr[8]); //Чтение заголовка строки
  63.     write(OUTP, textArr[8] : 17, headerArr[5][18]);
  64.     for j := 1 to 9 do begin
  65.         for i := 1 to 7 do
  66.             c[8,j] := c[8,j] + c[i,j]; //Заполнение Всего по остальным столбцам            
  67.         write(OUTP, c[8,j] : 10:2, headerArr[5][18]); //Построение строки Всего по столбцам
  68.     end;
  69.     writeln(OUTP);
  70.     write(OUTP, headerArr[2]);
  71.     close(INP);
  72.     close(OUTP);
  73. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement