Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
M:size;
Процедура обработки щелчка на кнопке “Ввод” procedure TForm1.Button1Click(Sender: TObject); var i:size; Begin m:=StrToInt(Edit1.text); for i:=1 to m do a[i]:=StrToInt(Form1.Memo1.Lines[i]) End; Процедура обработки щелчка на кнопке “Поиск” procedure TForm1.Button2Click(Sender: TObject); var n:integer;//количество строк в поле Memo1 max:integer; i,imax:size; st:string;//строка для сообщения begin n:=Form1.Memo1.Lines.Count; //подсчет кол-ва строк в Memo1 if n=0 then ShowMessage('исходные данные не введены'); if n > m then begin // в поле Memo1 есть текст ShowMessage('количество введенных строк'+ #13'превышает размер массива.'); n:=m;//будем вводить "m" строк end; { В поле Memo строки пронумерованы с нуля } { Вывод введенного массива в окно сообщения } if n > 0 then begin st:='Введенный массив'+#13; for i:=1 to n do st:=st+IntToStr(i)+' '+IntToStr(a[i])+#13; ShowMessage(st) End; max:=a[1]; imax:=1; for i:=1 to n do if a[i]>max then begin max:=a[i]; imax:=i end; Label4.Caption:='max='+IntToStr(max); Label5.Caption:='indexmax='+IntToStr(imax);end; Сценарий выполнения программы: 1. Запустить программу (Ru n). 2. Вести в поле Edit1 значение n - количество элементов массива(n ). 3. В поле Memo1, начиная со строки с номером 1, ввести элементы массива(по одному числу в строке). 4. Нажать кнопку “ Ввод ”. 5. Нажать кнопку “ Поиск ”. Появится окно с сообщением “Количество введенных строк превышает размер массива”(Первая строка ее номер нулевой, содержит текст “ Вводитемассив ”). Нажать кнопку “ ОК ”. Появится окно с сообщением “Введенный массив” и после него сами элементы.
6. Просмотреть их и нажать “ ОК ”. 7. Проанализировать результаты. 8. Для завершения работы нажать кнопку “ Выход ”. Пример 5.3 Создание приложения с вводом двумерного массива в поле Edit и выводом его в таблицу StringGrid Постановка задачи: в двумерном массиве A(m*n) определить максимальный элемент и его место расположение. Компонент StringGrid страницы Additional предназначен для создания таблиц, в ячейках которых располагаются произвольные текстовые строки. Таблица делится на две части: фиксированную и рабочую. Фиксированная служит для показа заголовков столбцов/рядов и для ручного управления их размерами. Центральным свойством компонента является Cells - двумерный массив ячеек. Конкретная ячейка определяется парой чисел – номером столбца и номером ряда, на пересечении которых она находится(нумерация начинается с нуля). Например, Cells [2,3]. Здесь первый индекс 2 – это номер 3-го столбца, а второй индекс 3 – номер 4-го ряда (4-ой строки). Будьте внимательны при выводе в таблицу матрицы по строкам.
Вид формы с компонентами: Размещенные компоненты:
Процедура обработки щелчка на кнопке “Расчет” (Перед процедурой разместить функцию выделения подстроки из строки GetSubSrt) 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=6; type size=1..nn; var a:array[size,size]of integer; m,n:size; max:integer; imax,jmax: size; i,j,k: integer; Begin m:=StrToInt(Edit1.text); n:=StrToInt(Edit2.text); { Ввод матрицы из Edit3} k:=1; for i:=1 to m do for j:=1 to n do Begin a[i,j]:=StrToInt(GetSubStr(Edit3.text,k)); k:=k+1 End; {Вывод номеров строк в 0-м столбце и столбцов в 0-й строке} Date: 2015-07-25; view: 340; Нарушение авторских прав |