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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычисления по формулам http://www.cyberforum.ru/cpp-beginners/thread1031449.html
Вычислить значение выражения по формуле (все переменные принимают действительные значения). Помогите пожалуйста. Не понял как работает котангенс в С++. До завтра надо сделать((
C++ Метод пополнения. Метод Ершова Имеется код в Mathematica for student: Clear; A = a = ( { {1, 0.42, 0.54, 0.66}, {0.42, 1, 0.32, 0.44}, {0.54, 0.32, 1, 0.22}, {0.66, 0.44, 0.22, 1} } ); dop = Table; For, http://www.cyberforum.ru/cpp-beginners/thread1031447.html
C++ Убрать большие абзацы
В ворде 2003 при нажатии enter делается абзац в конце страницы. Когда открываю старый документ, удалюю там все, начинаю печатать - все нормально. В новом документе получается 2 строчки на листе. В параметрах страницы все нормально.Как убрать этот большущий пробел между абзацами?
C++ Двумерный массив - Выражение должно иметь константные значения
Подскажите, почему у меня пишет ошибку в последней строке: выражение должно иметь константные значения. unsigned int rows, columns; std::cout << "Please, enter count of rows and columns: "; std::cin >> rows >> columns; std::string arr = {""};
C++ Не работает самодельная функция конкатенации:) http://www.cyberforum.ru/cpp-beginners/thread1031425.html
Здравствуйте форумчане:)Помогите советом дельным:) Задание:написать функцию конкатенации строк используя массивы char.Использовать new для выделения памяти новой строке.Вот моя функция.Косяк в том,что первую строку копирует она прекрасно,а вот вторую никак.Выводит мусор. #include "stdafx.h" #include "iostream" #include "string.h" #include "string" using namespace std;
C++ Сортировка выбором Помогите, пожалуйста реализовать программу: Сортировка выбором (поиск min и max в одном проходе). Есть код программы, который реализовывает стандартно сортировку выбора. #include "stdafx.h" #include <iostream> #include <ctime> #include <cstdlib> #include <conio.h> #include <clocale> using namespace std; подробнее

Показать сообщение отдельно
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
07.12.2013, 02:44     Алгоритм поиска в матрице
а - массив;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 и проверяется матрица на наличие хотя бы одной не пустой ячейки.
 
Текущее время: 16:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru