Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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-ой строки). Будьте внимательны при выводе в таблицу матрицы по строкам.

 

Вид формы с компонентами:

Размещенные компоненты:

Компоненты Свойство Значение Пояснение
Label(1,10)   Button1 Button2 Edit1 Edit2 Edit3 StringGrid1 Caption   Caption Caption Text Text Text ColCount RowCount FixedCols FixedRow   s Текст на форме Расчет Выход Пусто Пусто Пусто     Количество строк матрицы Количество столбцов Матрица по строкам Количество столбцов таблицы Количество строк таблицы Количество фиксированных столбцов и строк для надписей номеров

Процедура обработки щелчка на кнопке “Расчет”

(Перед процедурой разместить функцию выделения

подстроки из строки 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.009 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию