Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Работа с массивами
Цель работы: · изучить характеристики и основные операции с структурой данных – массив, · получить навыки ввода и вывода одномерных и двумерных массивов. Пример 5.1. Нахождение значения и номера максимального элемента одномерного массива Описание переменных:
Для решения данной задачи используется функция GetSubStr(st:string;n:integer):string для выделения подстроки из строки. Данная функция размещается в разделе I mplementation модуля формы Unit1. Т.к. вводимые элементы массива записываются в поле редактора Edit2, то функция Getsubstr будет выделять символы в строке Edit2 до пробела, т.е. цифры числа очередного элемента массива.
function GetSubStr(st:string;n:integer):string; var i,p:integer; Begin for i:=1 to n-1 do begin p:=pos(' ',st); st:=copy(st,p+1,length(st)-p) End; p:=pos(' ',st);{найти конец нужной подстроки} if p <> 0 then result:=copy(st,1,p-1) else result:=st End; Вид формы с компонентами: Процедура обработки щелчка на кнопке "Расчет" procedure TForm1.Button1Click(Sender: TObject); const nn=20;// количество элементов массива type size=1..nn; var a:array[size]of integer; i,n,imax:size; max:integer; Begin n:=StrToInt(Edit1.text); for i:=1 to n do a[i]:=StrToInt(GetSubStr(Edit2.text,i)); max:=a[1]; imax:=1; for i:=1 to n do if a[i] > max then begin max:=a[i];imax:=i end; Label5.Caption:='max='+IntToStr(max); Label6.Caption:='indexmax='+IntToStr(imax); End; Сценарий выполнения программы: 1. Запустить программу (Run). 2. Ввести в поле Edit1 значение количества элементов массива, не превышающее 21. 3. В поле Edit2 ввести элементы массива, разделяя их пробелом. 4. Нажать кнопку “ Расчет ”. 5. Просмотреть результаты (ниже приведен пример). 6. Для завершения работы нажать кнопку “ Выход ”. Пример 5.2 Решение задачи примера 5.1 с использованием ввода элементов массива из строк компонента Memo Вид формы: Описание компонентов, размещенных на форме:
Используя страницу Standart палитры компонент, поместите в правой части формы компонент Memo (текстовый редактор), измените его параметры, выберите в окне Инспектора Объектов объект Memo1, затем на странице Свойства произведите двойной щелчок на поле значения Strings свойства Lines для формирования и редактирования текста. После этого в окне String List Editor удалите текст Memo1, введите текст в 0-й строке “Вводите массив” и щелкните мышью на кнопке ОК. Ввод элементов массива и поиск в массиве максимального элемента и его индекса осуществляется в разных процедурах, поэтому описание массива и переменной “m” нужно выполнить в разделе Interface модуля Unit1: const mm=20;//максимальный размер массива type size=1..mm; Var Form1: TForm1; a:array[size]of integer; Date: 2015-07-25; view: 460; Нарушение авторских прав |