Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 14

Сложный алгоритм

23.09.2010, 15:19. Показов 3908. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана матрица NxN состоящая только из 0 и 1. Связыванными считаются числа из 1 если какой то ближайший сосед тоже из 1 и не важно по вертикали, горизонтали или диогонали. Каждая связанная область называется островком. Найти количество оствков из 1. одна 1 окруженная вокруг нулями тоже считается островком. А тепер пример

0 0 1 0 1 0 0 0 0 0
0 1 0 0 1 1 0 1 0 1
0 0 1 0 1 0 0 0 1 0
1 0 0 1 0 0 1 0 1 0
0 0 0 0 0 1 1 1 0 1
0 1 0 0 0 0 1 0 1 0
0 0 0 1 1 0 0 0 0 1
0 0 1 1 1 0 0 1 0 0
0 1 1 0 0 0 0 1 1 1
0 0 0 1 0 1 1 0 1 0


Ответ должен быть 6. Здесь 6 островков.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2010, 15:19
Ответы с готовыми решениями:

Сложный процент
Написать программу расчета платы по кредиту. В зависимости от срока погашения, меняется процентная ставка: рrocedure...

Сложный массив !!
народ скажите , у меня есть файл , в котором храниться двумерный динамический массив . Массив может иметь любое количество столбцов , строк...

Сложный запрос по выражению
Мне нужно сделать сложный запрос по выражению where, SQL-bilder у меня не работает, поэтому нужно сделать это через строку запроса,...

31
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 14
24.09.2010, 15:52  [ТС]
Студворк — интернет-сервис помощи студентам
Можно это считать что типа появляется еще одна такая же процедура? Можно представить мысленно что есть такая же процедура в другом месте и она вызывается и типа никакой связи с этой процедурой не имеет ? И что происходит с переменными когда они вызываются? какая связь между ними? Ведь все названия переменных одниаковые же.
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.09.2010, 16:04
anonimus, Сейчас глянул, уничтожил я ее. Там настолько все сложно было, что я не осилил. Есть еще книга А.И. Мальцев Алгоритмы и рекурсивные функции. Тоже для математиков.
http://www.google.ru/#hl=ru&ex... 3672ac5a00
0
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
24.09.2010, 16:06
Цитата Сообщение от АлександрАП Посмотреть сообщение
Можно представить мысленно что есть такая же процедура в другом месте и она вызывается и типа никакой связи с этой процедурой не имеет
Именно так и есть.
Цитата Сообщение от АлександрАП Посмотреть сообщение
И что происходит с переменными когда они вызываются? какая связь между ними? Ведь все названия переменных одниаковые же.
Какая разница в том что они одинаково называются? почитайте и поизучайте паскаль.
0
2 / 2 / 0
Регистрация: 01.03.2012
Сообщений: 50
05.03.2012, 11:19
Скажите пожалуйста, это решение можно отнести к методу ближайших соседей?
0
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
05.03.2012, 11:31
И ещё одно решение к остальной стопке. Давно эту задачку решал, завалялась на компе:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Edit1: TEdit;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure podsch(y,x:integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  ost:array[0..9,1..25] of integer;
  i,j,otv:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.podsch(y, x: integer);
begin
  ost[y,x]:=0;
  if ost[y-1,x]=1 then
    podsch(y-1,x);
  if ost[y+1,x]=1 then
   podsch(y+1,x);
  if ost[y,x-1]=1 then
   podsch(y,x-1);
  if ost[y,x+1]=1 then
   podsch(y,x+1);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var str:string;
    txt: TextFile;
begin
 AssignFile(txt, 'Текстовый документ.txt');
 Reset(txt);
  for i:=0 to 9 do
   begin
    ReadLn(txt, str);
    memo1.Lines.add(str);
   end;
 CloseFile(txt);
 str:='';
 
 for i:=0 to 9 do
  begin
  str:=memo1.lines[i];
   for j:=1 to 25 do
    ost[i,j]:=strtoint(str[j]);
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 for i:=0 to 9 do
  for j:=1 to 25 do
   if ost[i,j]=1 then
    begin
     podsch(i,j);
     otv:=otv+1;
    end;
 
 edit1.Text:=inttostr(otv);
end;
 
end.
Упс, чо то я не заметил даты создания темы...Но все равно - вдруг кому надо
0
2 / 2 / 0
Регистрация: 01.03.2012
Сообщений: 50
05.03.2012, 11:35
А это решение подходит к методу ближайших соседей?
0
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
05.03.2012, 11:36
Цитата Сообщение от Макси26 Посмотреть сообщение
А это решение подходит к методу ближайших соседей?
Что за метод ближайших соседей? Поясни
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.03.2012, 11:37
Если посмотреть например здесь
http://www.machinelearning.ru/... 0%B4%D0%B0
то эта программа и рядом не лежала.
0
2 / 2 / 0
Регистрация: 01.03.2012
Сообщений: 50
05.03.2012, 11:54
Мне нужно создать программу которая бы работала по методу ближайшего соседа. Подходит ли эта программа или нет? Я не знаю как ее написать. Может поможете?
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.03.2012, 12:06
Цитата Сообщение от Макси26 Посмотреть сообщение
Подходит ли эта программа или нет?
Ну понятно что нет.
0
2 / 2 / 0
Регистрация: 01.03.2012
Сообщений: 50
05.03.2012, 12:36
Помогите пожалуйста написать как хоть будет выглядеть эта программа?
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.03.2012, 12:39
Макси26, Мы в отличие от тебя, грамотного, и слова-то такие не слышали, так что давай уж как-то сам...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2012, 12:39
Помогаю со студенческими работами здесь

Сложный элемент управления
Добрый день! Подскажите, форумчане, есть ли в Делфи такой элемент (рис ниже). При нажатии на "х" - текстовое поле...

Не сложный вопрос по Delphi
Сама программа сделана и функционирует. Но есть один нюанс, надо ограничить количество нажатий определенных кнопок, как это сделать не...

Сложный запрос на выборку SQL
Здравствуйте! у меня такая вот проблема: есть сетевое приложение, разработанное в delphi - ТЕСТ. База - Access, работаю через ADO. не...

Алгоритм поиска подстрок!!!Алгоритм Рабина
Здраствуйте!!!!Очень хочется взглянуть реализацию данного алгоритма на делфи и если можно,то объясните принцип работы как-нить своими...

Алгоритм умножения столбиком и алгоритм Карацубы
Нужно написать умножение "столбиком" и умножение по методу Карацубы. Столбиком вроде как считает правильно, а вот "карацуба"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru