Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 26.03.2015
Сообщений: 1
1

В массиве найти количество "островов" из единиц

26.03.2015, 12:04. Показов 2297. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите перевести с Паскаля на С# или предложите свой вариант решения:
Нужно в квадратном массиве, состоящем из единиц и нулей, найти количество "островов" из единиц, расположенных рядом и окружённых со всех сторон нулями или краями массива. Единицы, входящие в "остров" считаются те, которые граничат друг с другом по горизонтали или вертикали.
Код на Паскале:
Pascal
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
const
  m = 102;
var
  a:array [1..m, 1..m] of integer;
  i,j,n,res: integer;
  input,output: text;
procedure count(i,j: integer);
  begin
    if a[i,j] <> 1 then
      exit;
    a[i,j] := 0;
    count(i + 1, j);
    count(i - 1, j);
    count(i, j + 1);
    count(i, j - 1);
  end;
begin
  res:= 0;
  assign(input,'input.txt');
  reset(input);
  assign(output,'output.txt');
  rewrite(output);
  read(input, n);
  {Заполняем массив нулями}
  for i:= 1 to n+2 do
    for j:=1 to n+2 do
      a[i,j]:=0;
  {Считываем матрицу из файла}
  for i:= 2 to n+1 do
    for j:=2 to n+1 do
      read(input,a[i,j]);
  {Обходим матрицу в поиске островов}
  for i := 2 to n+1 do
    for j := 2 to n+1 do
      if a[i,j] = 1 then
        begin
          inc(res);
          count(i,j);
        end;
  write(output,res);
  close(input);
  close(output);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2015, 12:04
Ответы с готовыми решениями:

Найти количество островов из единиц
Здравствуйте, есть задачка. Задача Острова Каждый элемент квадратной матрицы размеренности N x N...

Найти количество нулей и единиц в массиве
Задан двумерный массив целых чисел A размером N на M, состоящий из нулей и едениц. Найти количество...

В массиве В(п) найти количество нулей и единиц
Задача на одномерный массив: В массиве В(п) найти количество нулей и единиц.

Найти количество 0-й и 1-й в массиве,а так же сумму единиц
Найти количество 0-й и 1-й в массиве,а так же сумму единиц.

Найти количество квадратов из единиц в двумерном массиве
Добрый день. Я начинающий программист. Решаю задачки и вот столкнулся с такой пробл.: Почему...

1
Эксперт .NETАвтор FAQ
10410 / 5140 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
26.03.2015, 16:45 2
ValeEva, Количество прямоугольников
0
26.03.2015, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2015, 16:45
Помогаю со студенческими работами здесь

Найти количество «островов»
Данная матрица размерности N N ×, элементами которой являются 0 и 1. Группу единичек, граничащей...

Найти количество островов в матрице
Здраствуйте, преподаватель дал задание про острова следующего характера. Задана матрица nxm и...

Найти количество островов на море
дана карта в виде массива из 0 и 1, она записана в файле input.txt с таким форматом: в первой...

Вывести полученный массив на экран в общепринятом виде и найти количество единиц и двоек в этом массиве
Заполнить двумерный массив А(N,N) так: с экрана вводятся разные числа, в массив заносятся остатки...

Найти количество островов в архипелаге представленном матрицей
План архипелага, разбитого на квадратные зоны, имеет форму бинарной матрицы A размерностью NxM, где...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru