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

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

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

Поиск матрицы в матрице - C++

21.10.2013, 00:02. Просмотров 261. Ответов 1
Метки нет (Все метки)

Помогите, пожалуйста, исправить часть программы.
Задание звучит следующим образом: "В матрице MxM, заполненной случайными числами, найти координаты (верхнего левого угла) матрицы KxK (меньшего размера), заданной пользователем". Проблемы возникают на этапе поиска.

#include <math.h>
#include <stdlib.h>
#include <iostream>

using namespace std;

#define m 10
#define k 2

int main () {

/*Zapolnyaem matricu MxM sluchainimi chislami i raspechativaem */
cout << "Ishodnaya matrica:\n" << flush;
int a[m][m];
for(int i1=0; i1<m; i1++){
for(int j1=0; j1<m; j1++){
a[i1][j1]=rand()%10;
cout << a[i1][j1] << ' ' << flush;
}
cout << "\n" << flush;
}

cout << "\n" << flush;

/*Zaprashivaem matricu KxK u polzovatelya*/
cout << "Vvedite znacheniya matrici "<< k <<"x"<< k <<"\n"<< flush;
int b[k][k];
for(int i2=0; i2<k; i2++){
for(int j2=0; j2<k; j2++){
cout << "i[" << i2 << "]j[" << j2 << "]= " << flush;
cin >> b[i2][j2];
}
}

cout << "\n" << flush;

/*Raspechyativaem matricu KxK*/
cout << "Vvedennaya vami matrica:\n"<< flush;
for(int i2=0; i2<k; i2++){
for(int j2=0; j2<k; j2++){
cout << b[i2][j2] << ' ' << flush;
}
cout << "\n" << flush;
}

cout << "\n" << flush;

/*Poisk*/
cout << "Naidennie sovpadeniya:\n" << flush;
int i3, j3;
int i4=0;
int j4=0;
int n=0;

for(int i1=0; i1<(m-k+1); i1++){ /*Perebiraem vse elementi bolshoi matrici*/
for(int j1=0; j1<(m-k+1); j1++){
if(a[i1][j1]==b[0][0]){ /*Nahodim sovpadeniya pervogo elementa malenkoi v bolshoi*/
for(i3=i1; i4<k; i3++, i4++){ /*Smotrim, sovpadaut li ostalnie*/
for(j3=j1; j4<k; j3++, j4++){
if(a[i3][j3]==b[i4][j4]) n++;
}
}
if(n>=(k*k))
cout << "Koordinati i=" << i1 <<" j=" << j1 << "\n" << flush;
}
}
}


system ("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 00:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск матрицы в матрице (C++):

Поиск в матрице - C++
в матрице MхN найти номер ПЕРВОГО из столбцов в котором нет отрицательных элементов.... есть код но он находит все стоблцы....а мне нужно...

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

Поиск островов в матрице - C++
Есть матрица A: 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 2 | 2 | 3 | 3 | ...

Поиск в матрице символов - C++
Здравствуйте! Необходимо найти в каждом столбце символьной матрицы количество знаков пунктуации и вывести это под каждым столбцом. ...

поиск нулей в матрице - C++
написать программу, которая будет выводить &quot;ошибка&quot;, если один из строк или столбцов матрицы содержать нули

Задача на поиск луж в матрице - C++
Всем доброго дня. Есть задача, который день бьюсь, не могу придумать алгоритм. &quot;Consider a matrix of integers MxN, where each value...

1
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,348
22.10.2013, 06:50 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*Poisk*/
cout << "Naidennie sovpadeniya:\n" << flush;
int i3, j3;
int i4=0;
int j4=0;
int n=0;
 
for(int i1=0; i1<(m-k+1); i1++){ /*Perebiraem vse elementi bolshoi matrici*/
for(int j1=0; j1<(m-k+1); j1++){
if(a[i1][j1]==b[0][0]){ /*Nahodim sovpadeniya pervogo elementa malenkoi v bolshoi*/
    n=0;
for(i3=0; i3<k; i3++){ /*Smotrim, sovpadaut li ostalnie*/
for(j3=00; j3<k; j3++){
if(a[i1 + i3][j1 + j3]==b[i3][j3]) n++;
}
}
if(n>=(k*k))
cout << "Koordinati i=" << i1 <<" j=" << j1 << "\n" << flush;
}
}
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2013, 06:50
Привет! Вот еще темы с ответами:

Поиск минимального элемента в матрице - C++
Помогите решить задачку,Вводим в ручную матрицу и в нем нужно найти минимальные элемент спасибо

Восьмимерка: поиск вектора в матрице - C++
Дана матрица и вектор (могут быть любых размеров). Найти в матрице линейную последовательность элементов, совпадающих с элементами данного...

Поиск нулевых значений в матрице - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; using namespace std; int main() { ...

Поиск элементов в действительной матрице - C++
1)дана действительная матрица mxn.найти сумму наибольших значений элементов её строк. 2)дана действительная квадратная матрица порядка...


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

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

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