Переделать программу так, чтобы пользователь вводил максимальный размер массива - Turbo Pascal
Формулировка задачи:
Помогите переделать программу так, чтобы пользователь вводил максимальный размер массива n
Листинг программы
- const n=50;
- type arrA=array[1..n] of byte;
- arrNumbers=array[1..9] of byte;
- var a:arrA;
- b:arrNumbers;
- count,numb:byte;
- procedure randomArr(var a:arrA);
- var i:byte;
- begin
- randomize;
- writeln('Ishodniy massiv');
- for i:=1 to n do
- begin
- a[i]:=random(10);
- write(a[i]);
- end;
- writeln;
- end;
- procedure search(a:arrA;var numb:byte;var count:byte);
- var i:byte;
- begin
- for i:=0 to 9 do
- b[i]:=0;
- for i:=1 to n do
- inc(b[a[i]]);
- count:=0;
- for i:=0 to 9 do
- if b[i]>count then
- begin
- count:=b[i];
- numb:=i;
- end;
- end;
- procedure output(numb:byte;count:byte);
- begin
- write('Naibolee chasto vstrechaetsya eliment ',numb,' ',count,' raz');
- readln;
- end;
- begin
- randomArr(a);
- search(a, numb, count);
- output(numb,count);
- end.
Решение задачи: «Переделать программу так, чтобы пользователь вводил максимальный размер массива»
textual
Листинг программы
- type arrA=array of byte;
- arrNumbers=array of byte;
- var a:arrA;
- b:arrNumbers;
- count,numb:byte;
- n:integer;
- procedure randomArr(var a:arrA);
- var i:byte;
- begin
- writeln('Введите размер массива');
- readln(n);
- setlength(a,n);
- randomize;
- writeln('Ishodniy massiv');
- for i:=0 to n-1 do
- begin
- a[i]:=random(10);
- write(a[i]);
- end;
- writeln;
- end;
- procedure search(a:arrA;var numb:byte;var count:byte);
- var i:byte;
- begin
- setlength(b,10);
- for i:=0 to 9 do
- b[i]:=0;
- for i:=0 to n-1 do
- inc(b[a[i]]);
- count:=0;
- for i:=0 to 9 do
- if b[i]>count then
- begin
- count:=b[i];
- numb:=i;
- end;
- end;
- procedure output(numb:byte;count:byte);
- begin
- write('Naibolee chasto vstrechaetsya eliment ',numb,' ',count,' raz');
- readln;
- end;
- begin
- randomArr(a);
- search(a, numb, count);
- output(numb,count);
- end.
Объяснение кода листинга программы
- Создаются два типа данных: arrA и arrNumbers.
- Создаются переменные a, b, count и numb типа arrA и одна переменная n типа integer.
- Создается процедура randomArr, которая принимает в качестве параметра arrA и выполняет следующие действия:
- запрашивает у пользователя размер массива;
- устанавливает длину массива a в n;
- инициализирует генератор случайных чисел;
- выводит сообщение
Ishodniy massiv
; - заполняет массив a случайными числами от 0 до 9 (предполагается, что это максимальное значение для типа byte);
- выводит сообщение
Ishodniy massiv
снова.
- Создается процедура search, которая принимает в качестве параметров arrA, numb и count. Она выполняет следующие действия:
- устанавливает длину массива b в 10;
- инициализирует переменные count и numb;
- проходит циклом по всем элементам массива a;
- увеличивает значение count каждый раз, когда встречается число, большее текущего значения count;
- после завершения цикла выводит сообщение
Naibolee chasto vstrechaetsya eliment
; - выводит сообщение
Naibolee chasto vstrechaetsya eliment
с указанием найденного значения count.
- Создается процедура output, которая принимает в качестве параметров numb и count. Она выполняет следующие действия:
- выводит сообщение
Naibolee chasto vstrechaetsya eliment
; - выводит сообщение
Naibolee chasto vstrechaetsya eliment
с указанием найденного значения count.
- выводит сообщение
- Выполняется последовательность действий:
- вызывается процедура randomArr(a);
- вызывается процедура search(a, numb, count);
- вызывается процедура output(numb,count);
- выводится сообщение
Naibolee chasto vstrechaetsya eliment
; - выводится сообщение
Naibolee chasto vstrechaetsya eliment
с указанием найденного значения count.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д