Advertisement
Guest User

2_1delphi

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