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

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

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

Алгоритм поиска в матрице - C++

06.12.2013, 23:23. Просмотров 512. Ответов 2
Метки нет (Все метки)

Народ, если поможете, буду вообще супер благодарен.
Задание такое:"Найти квадрат максимальной площади в матрице и выписать координаты его диагонали"

Поясняю. Есть матрица
1 1 1 1 1
1 0 0 1 1
1 0 0 1 1
1 1 1 1 0

Надо, что бы выписал 0 0 3 3 т.к. это координаты диагонали квадрата, который имеет максимальную площадь

Вообще затуп глобальный, помогите с поиском алгоритма.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 23:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм поиска в матрице (C++):

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void lab () { int s1 = 0; int s2 =...

Добавить методы поиска медианного элемента в матрице и векторе - C++
Здравствуйте есть программа #include "stdafx.h" #include <stdlib.h> #include <iostream> #include <math.h> #include <time.h> ...

Алгоритм поиска А* - C++
Помогите написать код на с++,реализирующий алгоритм поиска А*, пожалуйста. ...

Алгоритм поиска - C++
есть ли в STL алгоритм принимающий упорядоченный интервал и проверяющий, содержит ли данный интервал последовательность из N элементов,...

Алгоритм последовательного поиска - C++
Добрый вечер. Уважаемые программисты! Прекрасно понимаю, что задаю элементарные вопросы, но не имею представления, что делать вот с таким...

Алгоритм поиска пути - C++
Ребята, помогите разобраться с кодом. Пробую реализовать преследование привидений пакмана. При этом использую алгоритм поиска пути и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
07.12.2013, 02:44 #2
а - массив;n и m - кол-во строк и столбцов массива
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
int sum,n=4,m=5;
    int k,x,y;
    bool cont=true;
 
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
 
    if(n<m)k=n-1;else k=m-1;//определяем наибольшую возможную сторону квадрата
    while((cont)&&(k>0))//сторона квадратов на уменьшение
    {
        x=0;
        while((cont) && (x<n-k))//движение верхнего левого угла квадрата со стороной k с начала координат
        {
            y=0;
            while((cont) && (y<m-k))
            {
                sum=0;//периметр квадрата
                for(int i=1;i<k;i++)//вычисление периметра квадрата со стороной k
                {
                    sum+=a[x][y+i]+a[x+i][y]+a[x+k][y+i]+a[x+i][y+k];
                }
                sum+=a[x][y]+a[x][y+k]+a[x+k][y]+a[x+k][y+k];
                if(sum==k*4) cont=false;else y++;//если периметр "полный" - нашелся квадрат с наибольшей площей
            }
            if(cont) x++;
        }
        if(cont)k--;
    }
    cout<<x<<" "<<y<<" "<<x+k<<" "<<y+k<<" "<<endl;
P.S. алгоритм расчитан на поиск квадратов со стороной не меньше 2. Для полноты картины в конце можно добавить несколько строчек на случай, если таких квадратов не нашлось - тогда ищется первая ячейка со значением 1 и проверяется матрица на наличие хотя бы одной не пустой ячейки.
1
Fatosha
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 153
07.12.2013, 12:15  [ТС] #3
RQdan, Спасибо огромное, просто невероятно помог
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2013, 12:15
Привет! Вот еще темы с ответами:

Алгоритм поиска в ширину - C++
Подскажите, пожалуйста, алгоритм поиска в ширину в неориентированном графе

Алгоритм поиска в ширину - C++
Вот тут нашел реализацию алгоритма поиска в ширину кратчайших расстояний в графе. По идее расстояния должны храниться в массиве d, но ответ...

Простые алгоритм поиска? - C++
Поделитесь, пожалуйста, вашими простые алгоритмами поиска char в char. Вот - есть мой собственный алгоритм, но мне он кажется некрасивым,...

Алгоритм поиска в глубину - C++
Мне нужен сам алгоритм, как программа на С ++, желательно с пояснениями к строкам. Может кто-то помочь написать?


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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