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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2009, 20:42   #1
Skarabei
 
Регистрация: 06.04.2009
Сообщений: 6
По умолчанию Delphi, Matrix

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

Задание: Дана матрица размера m*n.Определить равны ли какие либо две строки.Если нет таких строк,вывести сообщение об этом.Алгоритм прохода по необходимым элементам:

for i:=0 to Rows.value do
for j:=i+1 to Rows.value-1 do
for k:=0 to Cols.value-1 do
{Сравниваем элементы Matrix.Cells[k,i] и Matrix.Cells[k,j]}

Нужная процедура:

{procedure TMainForm.GoBtnClick(Sender: TObject);
var text: string;
i,j,k : Integer;
begin
end; }

end.
Вложения
Тип файла: rar Лаба2.rar (210.5 Кб, 10 просмотров)
Skarabei вне форума Ответить с цитированием
Старый 14.04.2009, 11:36   #2
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
По умолчанию

Не понял о равенстве.. Нужны суммы строк или по количеству одинаковых элементов строки+их позиция??? Уточните...

Быстрая накидка
Код:
var a:array [1..n,1..L] of integer;
begin
for i:=1 to n-1 do
begin
   for j:=1 to L do
   begin
      if a[i,j]=a[i+1,j] then
      k:=1
      else
      k:=0;
   end
if k=1 then
Label1.caption:='В матрице имеются одинаковые строки'
else
Label1.caption:='В матрице нет одинаковых строк'
end;
end;
Приблизительно так. Переменные сами опишите.
По ракетам и хоккею - Россияне всех сильней!

Последний раз редактировалось Stilet; 14.04.2009 в 11:56.
Ky3Heu, вне форума Ответить с цитированием
Старый 14.04.2009, 20:45   #3
Skarabei
 
Регистрация: 06.04.2009
Сообщений: 6
По умолчанию

Равные строки по количеству одинаковых элементов

На 1 строке ( a:array[1..n,1..L] of integer; ) выдает ошибку constant expression expected..Че это за ошибка?

Последний раз редактировалось Stilet; 16.04.2009 в 17:15.
Skarabei вне форума Ответить с цитированием
Старый 16.04.2009, 17:14   #4
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Skarabei Посмотреть сообщение
На 1 строке ( a:array[1..n,1..L] of integer; ) выдает ошибку constant expression expected..Че это за ошибка?
переводится приблизительно так: В выражениии требуется константа
это значит, что n и L долхны быть описаны в разделе констант
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Старый 17.04.2009, 11:32   #5
megachuhancer
Форумчанин
 
Регистрация: 16.04.2009
Сообщений: 247
По умолчанию

Спрашивалось про какие-нибудь две строки, поэтому если нет дополнительных условий, придётся сравнить каждую строку с каждой.

Что-то вроде
Код:
{$apptype console}
const
   n = 3;
   m = 3;
var
   a : array [1..n , 1..m] of integer;
   f : boolean;
   i , j : integer;
function Comp(f , s : integer) : boolean;
var
   i : integer;
begin
   result := true;
   for i := 1 to m do begin
      result := result and (a[f , i] = a[s , i]);
      if not result then exit;
   end;
end;
begin
   for i := 1 to n do
      for j := 1 to m do
         read(a[i , j]);
   for i := 1 to n do
      for j := 1 to n do begin
         if i <> j then f := f or Comp(i , j);
         if f then break;
      end;
   if f then
      write('Yes')
   else
      write('No');
end.
Я написал программу консольной для удобства. Переделать этот код для работы в программе не составит труда.

Если равенство понимается не в смысле "количество + позиция", а в смысле "количество" то всё несколько сложнее.

Последний раз редактировалось megachuhancer; 17.04.2009 в 11:43.
megachuhancer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
Программа-тест в Delphi) скиньте))а то програмку здавать преподу надо,и самой хочется понять Delphi Верчик Помощь студентам 9 02.03.2009 17:46
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54
не StringGrid1.Cells[1,1]:='Delphi'; а вот так SG1.C[1,1]:='Delphi' Nemesisking Компоненты Delphi 7 08.09.2007 03:27