Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Деструктор в классе Нужно создать класс бинарного дерева. Все сделано, кроме деструктора. Подскажите как с ним быть тут. Файл derevo.cpp #include "StdAfx.h" #include <iostream> #include "derevo.h" using namespace std; //Конструктор Derevo::Derevo() { https://www.cyberforum.ru/ cpp-beginners/ thread2150534.html C++ Как посчитать количество перестановок в коде?
Добрый день,подскажите пожалуйста,как посчитать количество перестановок в сортировке пузырьком?Кто может подправить код? #include "stdafx.h" #include "stdafx.h" #include <iostream> #include <iomanip> #include <ctime> using namespace std; void bubbleSort(int *, int); // прототип функции сортировки пузырьком
C++ Создание текстового файла https://www.cyberforum.ru/ cpp-beginners/ thread2150519.html
Создать файл и записать в него n целых чисел. Из исходного файла сформировать два файла с четными и нечетными числами соответственно и записать их в разные файлы. Определить наибольший четный и наименьший нечетный компоненты исходного файла и показать их на экране. Добавлено через 46 минут #include <string> #include <iostream> #include <fstream> void main() { FILE*file; char file_name...
C++ Случайные числа https://www.cyberforum.ru/ cpp-beginners/ thread2150507.html
Кто знает, как получить случайное число (отдельно для целого и дробного) от 0 до n, причем чтобы от запуска к запуску числа были разными?
Из заданного одномерного массива A размером N получить квадрат- ную матрицу B размером M х M C++
Из заданного одномерного массива A размером N получить квадрат- ную матрицу B размером M х M, пустые числа массива заполнить нулями.
C++ Составить программу с использованием пользовательской функции Вычислить Z-сумму значений функций https://www.cyberforum.ru/ cpp-beginners/ thread2150484.html
C++ Из заданного одномерного массива A размером N получить квадратную матрицу B размером M х M Помогите Из заданного одномерного массива A размером N получить квадрат- ную матрицу B размером M х M таким образом, чтобы ее размер был минимально необходимым для вмещения всех элементов массива A. Недостающие элементы заменить нулями (не отбрасывая элементы матрицы A). https://www.cyberforum.ru/ cpp-beginners/ thread2150460.html Перегрузка операторов +,-,*,/ C++
Есть класс который описывает дробь.2 способа ввода. Задание - переопределить +,-,*, / .Не понимаю как и зачем. class Drib { private: int a, b, c; public: Drib() { a = 0; b = 0; c = 0; }
C++ Выдает ошибку, понять не могу что не так И вот что не так то? #include <iostream> #include <math.h> #include <conio.h> #include <cstdlib> #include <string.h> #include "stdio.h" #include <cstdio> https://www.cyberforum.ru/ cpp-beginners/ thread2150444.html C++ Поделитесь мнением о задаче (сессия пришла) https://www.cyberforum.ru/ cpp-beginners/ thread2150417.html
Нужно написать код к задаче, формулировка которой такова: Предоставлен текст (рандомно вводится с клавиатуры), каждый символ которого может быть латинской буквой, цифрой или одним из знаков "+", "-", "*". Эта группа букв подразумевается как совокупность букв подряд, перед которой и за которой не находиться буква (аналогично со знаками и цифрами). Суть задачи: 1) Определить которая из групп самая...
C++ Файлы: найти среднее отклонение (расстояние) точек от центра координат
Найти среднее отклонение (расстояние) точек от центра координат. Можете помочь?
C++ Перевод текста в верхний регистр https://www.cyberforum.ru/ cpp-beginners/ thread2150379.html
Задание с самого начала было взять из текстового файла и после каждой точки (конец предложения) должен быть пробел. Это я сделала. А вот дальше надо сделать так, чтобы первая буква нового предложения была большой. Ф-я для перехода из нижнего и верхнего регистра - _strupr_s, но я не очень понимаю, как ее поставить в мою программу. строка 28 : _strupr_s((d)) - все, что мне пришло в голову, но...
-44 / 2 / 3
Регистрация: 22.12.2015
Сообщений: 508
0

Задача "замочная скважина" и "ключ" ошибка в коде - C++ - Ответ 11916233

05.12.2017, 21:30. Показов 1911. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Почему-то не работает программа реализующая следующую задачу:

Даны мозаичные изображения замочной скважины и ключа. Пройдет ли ключ в скважину? Т. е. даны матрицы k(m1, n1) и l(m2, n2), m1 > m2, n1 > n2, состоящие из нулей и единиц. Проверить, можно ли наложить матрицу l на матрицу k так, чтобы каждой единице матрицы l соответствовал нуль в матрице k. «Ключ» можно поворачивать на угол, кратный 90° и также можно зеркально отображать.


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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <iostream>
 
using namespace std;
 
//функция вывода матрицы
void Output(int **L,int n1,int m1)
{ 
    for (int i=0;i<n1;i++)
    { 
        for(int j=0;j<m1;j++) 
        cout<<L[i][j]<< " ";
        cout<<" "<<endl;             
    }
}
 
// Функция проверки
bool Sr(int **L, int **K, int T, int P, int n1,
int m1, int n2, int m2, int i, int j)
{
    for(int T=0; T< n1; T++)
    {
        for(int P=0; P<m1;P++)
        {
            if(L[T][P]+K[i+T][j+P] !=1)
            {
             return false;
             break;
            }
        }
    } 
    return true;
}
 
 
// фунция сдвига "ключа"
int Move(int **K, int **L, int n1,
int n2, int m1, int m2)
{
    for (int i=0; i+n2<=n1; i++)
    {
        for(int j=0;j+m2<=m1; j++)
        { 
            int T=0, P=0;
            if(Sr(L, K, T, P, n1, m1, n2, m2, i, j))
            {
                cout << "Podhodit!";
                return 0;
            }
        }
    }
}
 
// функция переворота ключа
int Perevorot(int **L, int **K, int T, int P, int n1,
int m1, int n2, int m2, int i, int j)
{
    int Z=4;
    if (Sr==false)
    {
        do
        {
            for(int i=0; i<n2+10; i++)
            {
                for(int j=0; j<m2+10; j++)
                { 
                    K[i][j]=K[i][j]+K[j][i];
                    K[j][i]=K[i][j]-K[j][i];
                    K[i][j]=K[i][j]-K[j][i];
                }
            Z--;
            }
        }
        while (Z>=0);
    }
    if (Z>=4 && Sr(L, K, T, P, n1, m1, n2, m2, i, j)==false) 
    cout << "Ne podhodit!";
    return **K;
}
 
//функция ввода размерности матрицы
void SizeMatrix(int &n1,int &m1)
{
    cout<<"Stroki: "<<endl;
    cin>>n1;
    cout<<"Stolbsi: "<<endl;
    cin>>m1;
}
 
//функция формирования самой матрицы
void Matrix(int **L,int &n1,int &m1)
{
    for (int i=0;i<n1;i++)
        for(int j=0;j<m1;j++)
        {
            cout<<"Vvedite elemet L["<<i<<"]["<<j<<"] = ";    
            cin>>L[i][j];
        }
}    
 
int main()
{
setlocale(LC_ALL,"Russian");
 
// Матрица "Замка"
int i=0, j=0;
int **L,n1,m1;
SizeMatrix(n1,m1);
L=new int*[n1];
for(int i=0; i<n1; i++)
    L[i]=new int[m1];
Matrix(L,n1,m1);
 
//Матрица "Ключа"
int **K,n2,m2;
SizeMatrix(n2,m2);
K=new int*[n2];
for(int i=0; i<n2; i++)
    K[i]=new int[m2];
Matrix(K,n2,m2);
 
cout << "Matrisa <<ZAMKA>>\n";
Output(L, n1, m1);
cout << "\n";
 
cout << "Matrica <<KLUCHA>>\n";
Output(K, n2, m2);
cout << "\n";
 
int T=0, P=0;
Sr(L, K, T, P, n1, m1, n2, m2, i, j);
Move(K, L, n1, n2, m1, m2);
Perevorot(L, K, T, P, n1, m1, n2, m2, i, j);
cout << "\n";
 
 
for (int i=0; i<n2; i++)
    delete [] K[i];
delete [] K;
 
for (int i=0; i<n1; i++)
    delete [] L[i];
delete [] L;
 
return 0;
}
Более того, выдает ошибку в строке If (Sr==false), она приведена на скрине.
Вот что здесь не так? Пробую вводить такие матрицы:
Замок:
1111
1001
1110
1111

Ключ:
01
10
10

а программа выдает, что ключ не подходит. Почему так? Помогите, пожалуйста, исправить ошибку и починить программу, буду очень благодарен!)

Вернуться к обсуждению:
Задача "замочная скважина" и "ключ" ошибка в коде C++
Миниатюры
Задача "замочная скважина" и "ключ" ошибка в коде  
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2017, 21:30
Готовые ответы и решения:

Замочная скважина
Даны мозаичные изображения замочной скважины и ключа. Пройдет ли ключ в скважину? Т. е. даны...

Замочная скважина
Здравствуйте, возник такой вопрос: Даны две матрицы, замок и ключ, матрица замка больше матрицы...

Задача "Замочная скважина"
Помогите, пожалуйста, решить задачу, называется &quot;Замочная скважина&quot;. Даны мозаичные изображения...

Задача. Ошибка в коде
Дано целое позитивное число. Узнать сумма чисел введенного числа является парным числом или нет....

Задача№2(ошибка в коде)
Паскаль.Удвоить положительные числа прямоугольного двумерного массива, который имеет 5 строк и 4...

4
05.12.2017, 21:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2017, 21:30
Помогаю со студенческими работами здесь

Задача(ошибка в коде)
Паскаль.Найти произведение n множителей вида sqrt(x+i) Я в паскале мимоходом, подскажите где...

Задача коммивояжера, ошибка в коде
Здравствуйте! Помогите, пожалуйста, исправить код в задаче. Выдает runtime error overflow 9 или 6. ...

Задача на классы, ошибка в коде
Доброго времени суток! Есть вроде бы более или меняя рабочая программа, но в конце выдает...

Где ошибка в коде? (задача с ветвлениями)
program eq_linear; uses crt; const TALL=1E-9; var a, b, c, x, y, q:real; begin clrscr;...

Ошибка в коде (задача с символьными рядами)
Прога запускается, но после ввода первого и второго ряда раз за разом вылетает. Задача такая:...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru