Переделать программу так, чтобы пользователь вводил максимальный размер массива - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите переделать программу так, чтобы пользователь вводил максимальный размер массива n
Листинг программы
  1. const n=50;
  2. type arrA=array[1..n] of byte;
  3. arrNumbers=array[1..9] of byte;
  4. var a:arrA;
  5. b:arrNumbers;
  6. count,numb:byte;
  7. procedure randomArr(var a:arrA);
  8. var i:byte;
  9. begin
  10. randomize;
  11. writeln('Ishodniy massiv');
  12. for i:=1 to n do
  13. begin
  14. a[i]:=random(10);
  15. write(a[i]);
  16. end;
  17. writeln;
  18. end;
  19. procedure search(a:arrA;var numb:byte;var count:byte);
  20. var i:byte;
  21. begin
  22. for i:=0 to 9 do
  23. b[i]:=0;
  24. for i:=1 to n do
  25. inc(b[a[i]]);
  26. count:=0;
  27. for i:=0 to 9 do
  28. if b[i]>count then
  29. begin
  30. count:=b[i];
  31. numb:=i;
  32. end;
  33. end;
  34. procedure output(numb:byte;count:byte);
  35. begin
  36. write('Naibolee chasto vstrechaetsya eliment ',numb,' ',count,' raz');
  37. readln;
  38. end;
  39. begin
  40. randomArr(a);
  41. search(a, numb, count);
  42. output(numb,count);
  43. end.

Решение задачи: «Переделать программу так, чтобы пользователь вводил максимальный размер массива»

textual
Листинг программы
  1. type arrA=array of byte;
  2.      arrNumbers=array of byte;
  3. var a:arrA;
  4.     b:arrNumbers;
  5.     count,numb:byte;
  6.     n:integer;
  7. procedure randomArr(var a:arrA);
  8.   var i:byte;
  9.   begin
  10.   writeln('Введите размер массива');
  11.   readln(n);
  12.   setlength(a,n);
  13.     randomize;
  14.     writeln('Ishodniy massiv');
  15.     for i:=0 to n-1 do
  16.       begin
  17.         a[i]:=random(10);
  18.         write(a[i]);
  19.       end;
  20.     writeln;
  21.   end;
  22. procedure search(a:arrA;var numb:byte;var count:byte);
  23.   var i:byte;
  24.   begin
  25.   setlength(b,10);
  26.     for i:=0 to 9 do
  27.       b[i]:=0;
  28.     for i:=0 to n-1 do
  29.       inc(b[a[i]]);
  30.     count:=0;
  31.     for i:=0 to 9 do
  32.       if b[i]>count then
  33.         begin
  34.           count:=b[i];
  35.           numb:=i;
  36.         end;
  37.       end;
  38. procedure output(numb:byte;count:byte);
  39. begin
  40. write('Naibolee chasto vstrechaetsya eliment ',numb,' ',count,' raz');
  41. readln;
  42. end;
  43. begin
  44. randomArr(a);
  45. search(a, numb, count);
  46. output(numb,count);
  47. end.

Объяснение кода листинга программы

  1. Создаются два типа данных: arrA и arrNumbers.
  2. Создаются переменные a, b, count и numb типа arrA и одна переменная n типа integer.
  3. Создается процедура randomArr, которая принимает в качестве параметра arrA и выполняет следующие действия:
    • запрашивает у пользователя размер массива;
    • устанавливает длину массива a в n;
    • инициализирует генератор случайных чисел;
    • выводит сообщение Ishodniy massiv;
    • заполняет массив a случайными числами от 0 до 9 (предполагается, что это максимальное значение для типа byte);
    • выводит сообщение Ishodniy massiv снова.
  4. Создается процедура search, которая принимает в качестве параметров arrA, numb и count. Она выполняет следующие действия:
    • устанавливает длину массива b в 10;
    • инициализирует переменные count и numb;
    • проходит циклом по всем элементам массива a;
    • увеличивает значение count каждый раз, когда встречается число, большее текущего значения count;
    • после завершения цикла выводит сообщение Naibolee chasto vstrechaetsya eliment;
    • выводит сообщение Naibolee chasto vstrechaetsya eliment с указанием найденного значения count.
  5. Создается процедура output, которая принимает в качестве параметров numb и count. Она выполняет следующие действия:
    • выводит сообщение Naibolee chasto vstrechaetsya eliment;
    • выводит сообщение Naibolee chasto vstrechaetsya eliment с указанием найденного значения count.
  6. Выполняется последовательность действий:
    • вызывается процедура randomArr(a);
    • вызывается процедура search(a, numb, count);
    • вызывается процедура output(numb,count);
    • выводится сообщение Naibolee chasto vstrechaetsya eliment;
    • выводится сообщение Naibolee chasto vstrechaetsya eliment с указанием найденного значения count.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы