Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2007, 13:01   #1
Stas)))
Пользователь Подтвердите свой е-майл
 
Аватар для Stas)))
 
Регистрация: 23.05.2007
Сообщений: 19
Вопрос Нахождение двух одинаковых элементов в массиве

Всем привет Люди добрые, помогите .... как в массиве найти 2 одинаковых элемента (их номера), по условию их тока 2 (для массива используем StringGrid).... Заранее всем большое спасибо..
Stas))) вне форума Ответить с цитированием
Старый 30.05.2007, 13:19   #2
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
По умолчанию

ну в общем заносим значения в grid. Затем создаем массив с количеством элементов равным числу ячеек в таблице и переносим все туда. На дальше все просто. Чуть позже текст проги выложу(примерный)


вот код проги
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; a:array[1..5000] of integer;
raz,i,j,ind1,ind2,kol,row,col,el1,e l2:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); {в этой процедуре заполняем грид значениями. В гриде я убирал фиксидкол и фиксидроу}
begin
i:=i+1;
StringGrid1.Cells[i,row]:=Edit1.Text;
if i=StringGrid1.ColCount-1 then
begin
row:=row+1;
i:=-1;
end;
a[j]:=strtoint(Edit1.Text);
j:=j+1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=-1; j:=1; raz:=StringGrid1.RowCount*StringGri d1.ColCount; {для того чтобы грид и массив заполнялись правильно. ну и размерность массива соответственно вычисляем}
end;
procedure TForm1.Button2Click(Sender: TObject); {ну собственно индексы получаем}
begin
for i:=1 to raz do
begin
el1:=a[i];
ind1:=i;
for j:=1+i to raz do
if el1=a[j] then
begin
el2:=a[j];
ind2:=j;
Edit2.text:=inttostr(ind1);
Edit3.Text:=IntToStr(ind2);
end;
end;
end;
end.

там нехватает лейблов для едитов, но находит все верно.
Знать все невозможно, в силу того, что жить бы стало неинтересно.

Последний раз редактировалось А. Долматов; 30.05.2007 в 14:48.
А. Долматов вне форума Ответить с цитированием
Старый 30.05.2007, 13:54   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

А в чём сложности? Grid, или что-то другое - нет разницы.
Берём 1 элемент, сверяем со всеми последующими, если такого же не нашли, берём второй, сверяем со всеми ПОСЛЕДУЮЩИМИ (это важно) и т.д
zetrix вне форума Ответить с цитированием
Старый 30.05.2007, 18:45   #4
Stas)))
Пользователь Подтвердите свой е-майл
 
Аватар для Stas)))
 
Регистрация: 23.05.2007
Сообщений: 19
По умолчанию

хех, Спасибо но для начала поробую как zetrix посоветовал...
Stas))) вне форума Ответить с цитированием
Старый 01.06.2007, 12:23   #5
Stas)))
Пользователь Подтвердите свой е-майл
 
Аватар для Stas)))
 
Регистрация: 23.05.2007
Сообщений: 19
По умолчанию

А. Долматов, огромное спасибо, заработало, конечно пришлось все ето переделывать под свою прогу, но смысл понятен, у меня тока не получалось, реализовать цикл, работал неправильно(теперь все тип-топ)
Stas))) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нахождение в массиве суммы значений, удовлетворяющих условию azov Microsoft Office Excel 27 26.06.2008 21:24
Нахождение минимума и максимума в трехмерном массиве 1234 Помощь студентам 11 26.05.2008 16:23
Нахождение суммы в массиве. PHP Айвенго Помощь студентам 3 28.01.2008 19:46
нахождение суммы четных чисел в массиве Ci_novice Общие вопросы C/C++ 1 23.12.2007 12:11
Выделение одной строки из двух одинаковых REMove Microsoft Office Excel 2 15.12.2007 16:03