Advertisement
Guest User

Untitled

a guest
Nov 1st, 2014
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.23 KB | None | 0 0
  1. program cmd;
  2. //uses crt;
  3. type
  4. arr=array[1..10] of string;
  5. var
  6. maxM,maxW,averageM,averageW:real;//Объявление переменных
  7. f,f2:text;//текстовые файлы
  8. a:arr;//массив строк
  9. imaxm,imaxw,i:integer;
  10.  
  11. procedure vvod(var p:arr);//Процедура ввода текста в массив.
  12.  
  13. var
  14. i:integer;
  15. FF:TEXT;
  16. begin
  17.  
  18. assign(FF,'D:\yyy.txt');
  19. reset(FF);
  20.  
  21. for i:= 1 to 10 do begin
  22.  
  23. readln(FF,p[i]);
  24. writeln(p[i]);
  25.  
  26. end;
  27. close(FF);
  28. end;
  29.  
  30.  
  31. procedure findmaxM(var b:arr; var cmax:real; var i_maxm:integer);//Процедура находит max среди мужчин.
  32.  
  33. var
  34.  
  35. k,err,p,x,x1,x2,x3:integer;
  36. averageM:real;//хранится ср.ариф
  37. sr:string;//хранится символ 'м', 'ж'
  38.  
  39. begin
  40.  
  41. cmax:=0;
  42.  
  43. for k:= 1 to 10 do begin
  44.  
  45. val(copy(b[k],10,1),x,err);//копируЕм и преобразуем строковое представление числа, в числовое
  46. val(copy(b[k],11,1),x1,err);
  47. val(copy(b[k],12,1),x2,err);
  48. val(copy(b[k],13,1),x3,err);
  49.  
  50. averageM:=(x+x1+x2+x3)/4;// считаем ср.ариф
  51. sr:=copy(b[k],8,1);
  52.  
  53. if (averageM>cmax) and (sr='м') then
  54. begin
  55. cmax:=averageM;
  56. i_maxm:=k;
  57. end;
  58.  
  59. end;
  60. end;
  61.  
  62. procedure findmaxW(var d:arr; var rmax:real; var i_maxw:integer);//Процедура находит max среди женщин.
  63. var
  64.  
  65. n,code,y,y1,y2,y3:integer;
  66. averageW:real;
  67. st:string;
  68.  
  69. begin
  70.  
  71. rmax:=0;
  72.  
  73.  
  74. for n:= 1 to 10 do begin
  75.  
  76. val(copy(d[n],10,1),y,code);
  77. val(copy(d[n],11,1),y1,code);
  78. val(copy(d[n],12,1),y2,code);
  79. val(copy(d[n],13,1),y3,code);
  80.  
  81. averageW:=(y+y1+y2+y3)/4;
  82. st:=copy(d[n],8,1);
  83.  
  84. if (averageW>rmax) and (st ='ж') then
  85. begin
  86.  
  87. rmax:=averageW;
  88. i_maxw:=n;
  89. end;
  90.  
  91. end;
  92. end;
  93.  
  94.  
  95. procedure allaverageM(var tt:arr; var sr_znachM:real);//Процедура находит общий средний балл среди мужчин.
  96.  
  97. var
  98. count,c,q,z,z1,z2,z3,ercode:integer;
  99. x,sum:real;
  100. str:string;
  101.  
  102. begin
  103.  
  104. sum:=0;
  105. count:=0;
  106.  
  107. for c:= 1 to 10 do begin
  108.  
  109. val(copy(tt[c],10,1),z,ercode);
  110. val(copy(tt[c],11,1),z1,ercode);
  111. val(copy(tt[c],12,1),z2,ercode);
  112. val(copy(tt[c],13,1),z3,ercode);
  113.  
  114. x:=(z+z1+z2+z3)/4;
  115. str:=copy(tt[c],8,1);
  116.  
  117. if str = 'м' then
  118. begin
  119.  
  120. sum:=sum+x;
  121. inc(count);
  122.  
  123. end;
  124.  
  125. if count <> 0 then
  126.  
  127. sr_znachM:=sum/count;
  128.  
  129. end;
  130. end;
  131.  
  132.  
  133. procedure allaverageW(var v:arr; var srznachW:real);//Процедура находит общий средний балл среди женщин.
  134. var
  135.  
  136. summa,r:real;
  137. int,g,h,er,e,e1,e2,e3:integer;
  138. s:string;
  139.  
  140. begin
  141.  
  142. summa:=0;
  143. int:=0;
  144.  
  145. for g:=1 to 10 do begin
  146.  
  147. val(copy(v[g],10,1),e,er);
  148. val(copy(v[g],11,1),e1,er);
  149. val(copy(v[g],12,1),e2,er);
  150. val(copy(v[g],13,1),e3,er);
  151.  
  152. r:=(e+e1+e2+e3)/4;
  153.  
  154.  
  155.  
  156. s:=copy(v[g],8,1);
  157.  
  158. if s = 'ж' then begin
  159.  
  160. summa:=summa+r;
  161. inc(int);
  162.  
  163. end;
  164.  
  165. if int <> 0 then
  166.  
  167. srznachW:=summa/int;
  168.  
  169. end;
  170. end;
  171.  
  172.  
  173. Begin //Начало головной программы.
  174.  
  175. assign(f2,'D:\resu.txt');
  176.  
  177. rewrite(f2);
  178.  
  179. vvod(a);
  180.  
  181. writeln;
  182.  
  183. findmaxM(a,maxM,imaxm);
  184.  
  185. writeln;
  186.  
  187. findmaxW(a,maxW,imaxw);
  188.  
  189. writeln;
  190.  
  191. allaverageM(a,averageM);
  192.  
  193. writeln;
  194.  
  195. allaverageW(a,averageW);
  196.  
  197. for i:= 1 to 10 do begin
  198. writeln(f2,a[i]);
  199. end;
  200.  
  201.  
  202.  
  203. writeln(f2,'Лидер среди мужчин:');
  204.  
  205.  
  206. write(f2,a[imaxm]);
  207. writeln;
  208.  
  209. writeln(f2,'Общий средний балл мужчин = ',averageM);
  210.  
  211. writeln(f2,'Лидер среди женщин:');
  212. write(f2,a[imaxw]);
  213. writeln;
  214.  
  215. writeln(f2,'Общий средний балл мужчин = ',averageW);
  216.  
  217. close(f2);
  218.  
  219. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement