Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AntiQ19
0 / 0 / 0
Регистрация: 15.12.2011
Сообщений: 6
#1

Поиск корабликов - C++

15.12.2011, 21:28. Просмотров 265. Ответов 4
Метки нет (Все метки)

дан массив NxN в файле состоит из 0 и 1. 1 обозначают части кораблей. нужно посчитать кол-во кораблей. корабли могут быть ЛЮБЫЕ!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2011, 21:28     Поиск корабликов
Посмотрите здесь:

C++ Поиск. Последовательный поиск
C++ Поиск. Бинарный поиск
C++ Поиск символа не могу переделать под поиск сочетания символов
Поиск пикселя и поиск изображения на экране C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1266 / 624 / 52
Регистрация: 11.08.2011
Сообщений: 2,246
Записей в блоге: 2
Завершенные тесты: 1
15.12.2011, 21:51     Поиск корабликов #2
Цитата Сообщение от AntiQ19 Посмотреть сообщение
ЛЮБЫЕ!
то есть любой формы?

Добавлено через 37 секунд
или прямоугольные a*b но с разными a и b?

Добавлено через 14 минут
как-то так
C++
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
#include <iostream>
#include <vector>
 
std:: vector <std::vector<int>> a;
int kol=0,n;
 
void rec (int, int);
 
 
int main()
{
    int temp,i;
    std::cin >> n;
    a.resize(n);
 
    for (i=0;i<n; i++)
        for (int j=0;j<n;j++)
    {   
        std::cin >> temp;
        a[i].push_back(temp);
    }
 
    for (i=0;i<n;i++)
        for (int j=0;j<n;j++)
            if (a[i][j]==1)
            {
                kol++;
                rec(i,j);
            }
    std:: cout << kol << "\n";
    system ("pause");
    return 0;
}
 
 
void rec (int i, int j)
{
    if (i==-1 || j==-1 || i==n || j==n) return;
    if (a[i][j]==0) return;
    
    a[i][j]=0;
 
    rec (i+1,j);
    rec (i-1,j);
    rec (i,j+1);
    rec (i,j-1);
}
AntiQ19
0 / 0 / 0
Регистрация: 15.12.2011
Сообщений: 6
16.12.2011, 18:33  [ТС]     Поиск корабликов #3
кораблики любой формы! Можно пояснить решение, а то я не понял до конца
Dani
1266 / 624 / 52
Регистрация: 11.08.2011
Сообщений: 2,246
Записей в блоге: 2
Завершенные тесты: 1
16.12.2011, 19:03     Поиск корабликов #4
всмысле части корабликов могут быть связаны по диагоналям? или же это будут (как в нормальном морском бое) другие кораблики?
AntiQ19
0 / 0 / 0
Регистрация: 15.12.2011
Сообщений: 6
16.12.2011, 19:53  [ТС]     Поиск корабликов #5
0 0 0 1 0 0 0 0 короче могут быть такие
0 1 0 1 0 1 1 0
0 1 0 1 1 1 0 0
0 1 0 0 0 0 0 1
0 0 0 1 0 1 0 0
0 0 0 1 0 1 0 0
0 0 0 1 1 1 1 0
1 0 0 0 0 0 0 0
Yandex
Объявления
16.12.2011, 19:53     Поиск корабликов
Ответ Создать тему
Опции темы

Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru