работа с двумерным массивом в Delphi

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Loslobos
Сообщения: 4
Зарегистрирован: 12 сен 2010, 16:52

помогите плиз!
Дан массив a:array[1..2,1..15] of integer.Известно, что среди его элементов дваи только два равны между собой.Напечатайте их индексы.
зарание примного блашодарен!!!если возможно то желательно скорее помогите по мойе теие это вопрос жизни и смерит)
Аватара пользователя
Sheka
Сообщения: 246
Зарегистрирован: 17 май 2009, 15:48
Контактная информация:

Решу вопрос в благоприятную сторону. 255507394
----------------------------------------------------
Sheka, буду банить всерьез и надолго!
Читать правила.
Мои мысли настолько гениальны, что санитары уже приехали!
Ася 255507394.
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Алгоритм может быть таким:
1. Заполнили массив;
2. Запомнили первый элемент и его индекс;
3. Проходим по массиву в поисках элемента равного ранее запомненному:
- Элемент найден: запоминаем его индекс, прерываем цикл;
- Элемент не найден: запоминаем следующий элемент, переходим к шагу 3.
----------------------------------
Учитесь программировать. Выкладывайте сюда то, что получится.
Нет религии выше истины
Loslobos
Сообщения: 4
Зарегистрирован: 12 сен 2010, 16:52

вот что у меня вышел за бред )неуверен токо в правильности его пожалуйсто оцените и подкоректируйте мою ересь)))

Код: Выделить всё

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure StringGrid1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const n=2;
      m=15;

var
  Form1: TForm1;
  a:array[1..n,1..m] of integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var f,b,c,d,i,j,p,q:byte;
begin
randomize;
//создадим таблицу 2х15 с фиксированными ячейками
Stringgrid1.ColCount:=m+1;
Stringgrid1.RowCount:=n+1;
for i:=1 to n do
Stringgrid1.Cells[0,i]:=Inttostr(i);
for i:=1 to m do
Stringgrid1.Cells[i,0]:=Inttostr(i);
//заполним матрицу разными числами
for i:=1 to n do
for j:=1 to m do
a[i,j]:=m*i+j; //от 16 до 42
//выберем 2 случайных ячейки
f:=random(n)+1;
b:=random(m)+1;
a[f,b]:=50; //запищим в них число,которого еще нет
repeat
c:=random(n)+1;
d:=random(m)+1;
until(c<>f)or(d<>b);
a[c,d]:=a[f,b];
//заполним таблицу
for i:=1 to n do
for j:=1 to m do
Stringgrid1.Cells[j,i]:=Inttostr(a[i,j]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j,p,q:byte;
begin
//пройдем 2 раза по матрице сравнивая разные ячейки
for i:=1 to n do
for j:=1 to m do
for p:=1 to n do
for q:=1 to m do
if(a[i,j]=a[p,q])and((p<>i)or(q<>j)) then //найдем одинаковые
Edit1.Text:='1 - ['+inttostr(p)+','+inttostr(q)+']  2 - ['+
             inttostr(i)+','+inttostr(j)+']';
end;

end.
Loslobos
Сообщения: 4
Зарегистрирован: 12 сен 2010, 16:52

где написаны иероглифы там должны быть описания кода но они както коряво скопировалися((((( этот код мне помогали составлять знакомые только он вышел какойто сильно замутный
Loslobos
Сообщения: 4
Зарегистрирован: 12 сен 2010, 16:52

вот вродебы все подкариктировал теперь проверте мою глупость плиззз)
Ответить