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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2015, 22:14   #1
GRYZZY
Пользователь
 
Регистрация: 26.11.2015
Сообщений: 11
По умолчанию Помогите решить задачу на Delphi

Дана целочисленная матрица Q размера nxn и целочисленная матрица P размера mxm, причём 1<m<n. написать программу для подсчёта количества вхождений матрицы P в матрицу Q в качестве подматрицы.
GRYZZY вне форума Ответить с цитированием
Старый 26.11.2015, 23:03   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
  Count:=0;
  for i1:=1 to n-m+1 do
    for j1:=1 to n-m+1 do begin
      Equ:=True;
      for i:=1 to m do
        for j:=1 to m do
          if q[i1+i-1,j1+j-1]<>p[i,j] then begin Equ:=False; Break; end;
      if Equ then Inc(Count);
    end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.11.2015, 18:52   #3
GRYZZY
Пользователь
 
Регистрация: 26.11.2015
Сообщений: 11
По умолчанию

А можно, пожалуйста, весь код?
GRYZZY вне форума Ответить с цитированием
Старый 27.11.2015, 19:10   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А это и есть почти весь код, описание переменных, ввод массивов и вывод результтата сам постарайся, на форуме полно примеров. Ну и код чуть подправить, бряк один забыл. Хотя и без него работало бы, но чуть помедленней

Код:
Count:=0;
  for i1:=1 to n-m+1 do
    for j1:=1 to n-m+1 do begin
      Equ:=True;
      for i:=1 to m do begin
        for j:=1 to m do
          if q[i1+i-1,j1+j-1]<>p[i,j] then begin Equ:=False; Break; end;
        if Equ then Break;
      end;
      if Equ then Inc(Count);
    end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.11.2015, 19:20   #5
GRYZZY
Пользователь
 
Регистрация: 26.11.2015
Сообщений: 11
По умолчанию

спасибо и на этом)
GRYZZY вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите в Delphi решить задачу? Алексей 21 Помощь студентам 1 04.12.2014 20:40
Помогите решить задачу на Delphi 7 Юрий2009 Помощь студентам 4 19.01.2009 12:15