Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 23
1

не могу понять курсовую

13.11.2010, 17:12. Показов 3310. Ответов 30
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
сам являюсь первокурсником и не знаю как написать следующую программу:
Задача о замочной скважине, подойдет ли ключ к замку.
Даны мозаичные изображения замочной скважины и ключ. Нужно узнать, пройдет ли ключ в скважину? То есть даны матрицы K(m1,n1) и L(m2,n2), m1>m2, n1>n2, состоящие из нулей и единиц. Проверить, можно ли наложить матрицу L на матрицу K( без поворота, разрешается только сдвиг) так, что каждой единице матрицы L соответствовал нуль матрицы K, и если можно, то как (на сколько и в каком направлении следует подвинуть матрицу L по матрице K до выполнения условия).

объясните или, премного буду благодарен,кто напишет программу на языке C++ Builder

Добавлено через 35 минут
начал писать программу, вот она сама,только не полностью,дальше не знаю,что делать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#pragma hdrstop
#define n 64
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{setlocale( LC_ALL,"Russian" );
 int m1,m2,n1,n2,K,L;
 randomize();
if(m1>m2,n1>n2);
printf("podoydet li klych k zamku");
getch();
 
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2010, 17:12
Ответы с готовыми решениями:

Пытаюсь понять комбинаторику.Не могу понять какую формулу использовать
Добрый день. Уже второй день бьюсь над комбинаторикой. Проблема стоит в том, что не могу понять,...

Как понять поставленную задачу. Не могу понять этот полиморфизм?
A software academy teaches two types of courses: local courses that are held in some of the...

Стек на основе массива структур - эт как понять читаю литературу и не могу понять!
Стек статически (на основе массива структур). Пример структура &quot;Товар&quot; которая включает в себя: №...

Не могу понять понять смысл резидентной программы
Суть препод кинул резидент, сказал чтобы сами разбирались. Увидел что ее выкладывали уже, но в...

30
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 23
16.11.2010, 10:42  [ТС] 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Itisme Посмотреть сообщение
Такое чувство, что мы на разных языках говорим... Попробую задать вопрос иначе: откуда нам взять матрицы ключа и замка, чтобы сравнить их?
у нас же даны координаты матриц и какие значения должны быть,чтоб ключ подошел,например замок(K) будет
1 0 1 0 1
0 1 0 1 0
1 1 1 1 0
0 0 1 0 1
а ключ(L):
0 1 0 1 0
1 0 1 0 1
они как бы противоположны,где у замка 0 там у ключа 1 и наоборот,вот в чем фишка,вот я сам не знаю как это можно написать в C++
0
12 / 12 / 0
Регистрация: 29.09.2010
Сообщений: 60
16.11.2010, 10:46 22
Воот, уже ближе к делу. теперь вопрос: где они у нас даны? В файле лежат, на бумажке нарисованы и их надо вручную вбивать или как?
1
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 23
16.11.2010, 10:48  [ТС] 23
Цитата Сообщение от Itisme Посмотреть сообщение
Воот, уже ближе к делу. теперь вопрос: где они у нас даны? В файле лежат, на бумажке нарисованы и их надо вручную вбивать или как?
они переменные,но подставлять их не надо в сами матрицы,вот это вот и есть главная фишка,хотя может и можно,задание-то не в "рамках" дано,известно,что матрицы могут быть любыми
0
12 / 12 / 0
Регистрация: 29.09.2010
Сообщений: 60
16.11.2010, 10:54 24
Что по вашему мнению является "подстановкой в матрицы"?
1
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 23
16.11.2010, 11:03  [ТС] 25
Цитата Сообщение от Itisme Посмотреть сообщение
Что по вашему мнению является "подстановкой в матрицы"?
в условии сказано,что это 1 и 0 вот и из этого нужно исходить,в общем нужно составить программу перебора ключей,то есть 32 варианта воординат(вместе с ключем и замком),поэтому и брал 64,чтоб было кратное число,получается,если 32 варианта,то будет 8 циклов в программе,так как 4 координаты,больше уже ничего не могу сказать

Добавлено через 5 минут
уже просто никто не знает,как ее написать можно
0
12 / 12 / 0
Регистрация: 29.09.2010
Сообщений: 60
16.11.2010, 11:28 26
Я могу написать по тем условиям, что были преведены изначально. Только один вопрос: вы динамические массивы проходили и с файлами работали? Ну там, чтение-запись хотя бы.
1
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 23
16.11.2010, 12:32  [ТС] 27
Цитата Сообщение от Itisme Посмотреть сообщение
Я могу написать по тем условиям, что были преведены изначально. Только один вопрос: вы динамические массивы проходили и с файлами работали? Ну там, чтение-запись хотя бы.
да,уже начали массивы и файлы одновременно,юуду премного благодарен,если Вы мне сделаете курсач
0
12 / 12 / 0
Регистрация: 29.09.2010
Сообщений: 60
16.11.2010, 17:49 28
Сидел на лекциях, заняться было нечем, решил это дело написать. Заодно нашел несколько существенных ошибок в приводимом мной коде. Что получилось - в архиве. Прога работает следующим образом: в файле in.txt в первой строке лежат размерность массива ключа, на следующих строчках сам массив, за ним аналогичным образом задается массив замка. В самом коде массивы записываются в соответствующие глобальные переменные с заведомо превосходящей размерностью (массивы 1000*1000), так было сделано, т.к. я не дождался ответа по поводу динамических массивов. Результат сравнения выводится на экран. Прогу тестил, вроде работает.
Вложения
Тип файла: rar !!!.RAR (38.1 Кб, 22 просмотров)
0
12 / 12 / 0
Регистрация: 29.09.2010
Сообщений: 60
16.11.2010, 18:45 29
Поправочка: в представленой лабе в функции check лучше заменить условие
C++
1
if(K[x+i][y+j]+L[i][j]!=1)return false;
на
C++
1
if(K[x+i][y+j]+L[i][j]!=2)return false;
0
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 23
17.11.2010, 07:05  [ТС] 30
Цитата Сообщение от Itisme Посмотреть сообщение
Поправочка: в представленой лабе в функции check лучше заменить условие
C++
1
if(K[x+i][y+j]+L[i][j]!=1)return false;
на
C++
1
if(K[x+i][y+j]+L[i][j]!=2)return false;
когда подставил 2-ой вариант написало,что совпадений нет вообще,как поступить?
0
12 / 12 / 0
Регистрация: 29.09.2010
Сообщений: 60
17.11.2010, 14:01 31
Туплю жестоко. Там надо ==2 поставить, вместо !=1. В общем смотря по логике: если !=1, то совпадением будет считаться только когда всем 0 на ключе нашлись 1 в замке, если ==2, то несовпадающими будут считаться только те, где напротив 1 в ключе появилась 1 в замке.

Ключ:
1 1 1
1 0 1
1 1 1

Замок:
1 1 1 1 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1

Если оставить !=1, то прога в данном случае не найдет совпадений, а если ==2, то найдет, смотрите сами, как нужно поступить в такой ситуации и оставьте нужный вариант.
0
17.11.2010, 14:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2010, 14:01
Помогаю со студенческими работами здесь

Не могу сделать курсовую
Численное дифференцирование с помощью интерполяционных формул Лагранжа в MC Excel Найти значение...

Не могу придумать тему на курсовую по WINAPI
Помогите придумать тему для курсовой по WinApi. Хотелось бы написать игру правда какую не знаю.

Предстоит написать курсовую, с темой не могу определиться
Изучаю питон совсем недавно, предстоит написать курсовую, с темой не могу определиться. Что...

Не могу курсовую сдать уже 3 недели.последняя задача осталась!
Трехлетняя облигация с ежегодным купоном, равным 10, и с номина¬лом, равным 100, имеет текущую...


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

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