Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. program Project1;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8. System.SysUtils;
  9.  
  10. const
  11. minSize = 2;
  12. maxSize = 100;
  13. minEl = -100;
  14. maxEl = 100;
  15. var
  16. i, size, closeind, sum: integer;
  17. close, average: real;
  18. isCorrect: boolean;
  19. mass: array of integer;
  20.  
  21. begin
  22. Writeln('Данная программа находит индекс элемента в последовательности, который отличается от среднего арифметического значения элементов последовательности на минимальную величину.');
  23. isCorrect := false;
  24. repeat
  25. Writeln('Введите размер последовательности от ', minSize, ' до ', maxSize,':');
  26. try
  27. Readln(size);
  28. if (size > minSize) and (size < maxsize) then
  29. isCorrect := true
  30. else
  31. Writeln('Ошибка ввода. Повторите попытку.');
  32. except
  33. Writeln('Ошибка ввода. Повторите попытку.');
  34. end;
  35. until isCorrect;
  36. SetLength(mass, size);
  37. for i := 0 to (size - 1) do
  38. begin
  39. repeat
  40. Writeln('Введите элемент массива под индексом ',i,' (целое число от ', minEl ,' до ', maxEl,'):');
  41. try
  42. readln(mass[i]);
  43. if (mass[i] > minEl) and (mass[i] < maxEl) then
  44. isCorrect := true
  45. else
  46. Writeln('Ошибка ввода. Повторите попытку.');
  47. except
  48. Writeln('Ошибка ввода. Повторите попытку.');
  49. end;
  50. until isCorrect;
  51. end;
  52. sum := 0;
  53. for i := 0 to size - 1 do
  54. sum := sum + mass[i];
  55. average := sum / size;
  56. for i := 0 to size - 1 do
  57. begin
  58. if abs(mass[i] - average) < close then
  59. begin
  60. close := abs(mass[i] - average);
  61. closeind := i;
  62. end;
  63. end;
  64. Writeln('Индекс элемента: ', closeind);
  65. Readln;
  66. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement