Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2015, 22:41   #11
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Военкомат уже не ждет...
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 11.10.2015, 22:44   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Военкомат уже не ждет...
Я тоже так думал... чуть было в АТО не попал. Хотя я там и так год просидел...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.10.2015, 23:30   #13
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

У меня белый билет на руках) так что все равно не страшно, страшнее временные потери)

По теме...чтобы понять рекурсию до конца - нужно с ней поработать, поэтому и спросил именно на счет нее
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.10.2015, 08:10   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
поэтому и спросил именно на счет нее
Ну судя по твоей задаче рекурсию можно запулить так:
Код:
bool verify(int x,int y,int vx, int vy, int w, int h, int **a){
 if (a[x][y]==a[vx][vy] && vx!=x && vy!=y) return false;
 if(x<w && x>=0) return verify(v,x+1,y,w,h,a) and verify(v,x-1,y,w,h,a);
 if(y<h && y>=0) return verify(v,x,y+1,w,h,a) and verify(v,x,y-1,w,h,a);
 return true;
}
Вызов:
Код:

if(verify(
 1,1 //Передача координат проверяемого элемента
,1,1 //Передача стартовой координаты
,10,10 //Передача размерности
,&array //И самой матрицы
)) cout<<"Не уникален"
Это с потолка.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2015, 12:21   #15
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят, почему-то мой алгоритм не работает при таких значениях:

0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4

Как исправить так, чтоб работало? неделю уже сижу, дорабатываю, никак не получается(

вернее получается, если тернарный оператор заменить на if'ы


Код:
#include <iostream>


using std::cout;
using std::cin;
using std::endl;



int main()
{
    int N=5;

    int Matrix[N][N];

    for(int i(0);i<N;i++)
        for (int j(0);j<N;j++)
        {
            cout<<"Print element ["<<i+1<<", "<<j+1<<"]:  ";
            cin >>Matrix[i][j];
        }

    cout<<endl<<"Formated Matrix: ..."<<endl;




    for(int i(0);i<N;i++)
    {
        for (int j(0);j<N;j++)
            cout<< "|"<<Matrix[i][j]<<"|\t";
        cout<<endl;
    }



    bool result = false;
    for (int i = 0; i < N && !result; i++)
        for (int j = 0; j < N && !result; j++)
        {
            int count = 0;
            for (int n = 0; n < N; n++)
                count+= (Matrix[n][j] == Matrix[i][j] && n != i)     ;

            if (count > 0)
                result = true;


            count = 0;
            for (int k = 0; k < N; k++)
              count+= (Matrix[i][k] == Matrix[i][j] && k != j);


          (count > 0)? result = true:result=false;
        }

     cout<<"Matrix is latin quadrant: "<<((result == false) ? "YES" : "NO");



    return 0;
}
from dark to light)

Последний раз редактировалось Алексей_2012; 03.11.2015 в 12:29.
Алексей_2012 вне форума Ответить с цитированием
Старый 03.11.2015, 16:17   #16
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Как вывести через тернарный?)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 03.11.2015, 16:39   #17
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Во-первых, вместо
Код:
(count > 0)? result = true:result=false;
можно
Код:
result = (count > 0);
Во-вторых, с каким тернарным проблемы?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Латинский квадрат KOMPNET Помощь студентам 2 27.11.2011 15:20
ПОСТРОИТЬ ЛАТИНСКИЙ КВАДРАТ НА С++ innaa639 Помощь студентам 4 23.11.2009 17:31
Латинский квадрат innaa639 Помощь студентам 1 22.11.2009 22:40
"Латинский" квадрат. Паскаль SmartStas Помощь студентам 9 19.03.2009 16:37