IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Помогите решить задачу, Задача с массивами
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Женский

Репутация: -  0  +


Помогите, а то я что то запуталась.
И посмотрите что я не так начала делать, я немного начала и уже не получается!

Задание:
1.Установить на форму:
-2 табл. StringGrid (1- для ввода массива, 2 - для вывода отсортированого массива)
-задать значение true в св-ва Options->GoEditing
-2 кнопки Button (начало сортировки массива и закрытия приложения)
-3 индикатора ChekBox (для выбора метода сотрировки "обмен", "выбор", "Вставка")
2. Описать переменную mas (двумерный массив (a*b)) и т.д
3.НАписать процедуру по нажатию на кнопку 1;
-заполнения переменной mas числами из табл.1
- по выбору соответ. индикатора отсортировать данный массив заданным методом
-вывести отсоритрованый массив в табл.2

Само задание!

Отсортировать массив по убыванию элементов чётных столбцов!
Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const a=4; b=4;
var
  Form1: TForm1;
mas array [1..a, 1..b] of integer;
var i,j,k:byte;
    x:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=1 to a do
for j:=1 to b do
mas [i,j]:=strtoint(stringgrid1.Cells);

if chekbox1.checked then
for j:=1 to b do
for k:=a downto 2 do
for i:=1 to k-1 do

if mas [i,j]>mas[i+1,j] then
begin
x:=mas[i,j];
mas[i,j]:=mas[i+1,j];
mas[i+1,j]:=x

end;
for i:=1 to a do
for j:=1 to b do
stringgrid2.Cells[j,i]:=inttostr(mas(i,j));
end;
end.



Прикрепленные файлы
Прикрепленный файл  ____________________4_.txt ( 1003 байт ) Кол-во скачиваний: 147
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 58
Пол: Мужской
Реальное имя: Андрей

Репутация: -  2  +


Нипиши по отдельной процедуре для сортировки каждым методом и проверь, как они работают отдельно. Если все правильно, то при нажатии кнопки Старт, в зависимости от состояний флагов вызови нужную процедуру.
Кстати, а что именно не получается?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.10.2020 12:38
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name