1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
1

Будем называть соседями элемента с индексами ij некоторой матрицы такие элементы этой матрицы, соответсвующие индексы которых отличаются от i и j не..

29.05.2011, 14:45. Показов 4315. Ответов 6
Метки нет (Все метки)

Доброго дня! Тут есть такая задачка:Будем называть соседями элемента с индексами ij некоторой матрицы такие элементы этой матрицы, соответсвующие индексы которых отличаются от i и j не более чем на 1. Для данной целочисленной матрицы [Aij] размером mxn найти матрицу из 0 и 1 [Bij], элемент которой b[ij] равен 1, когда все соседи a[ij] и само a[ij] равны нулю.
Может кто растолковать как это решается, желательно решить
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2011, 14:45
Ответы с готовыми решениями:

Посчитать количество столбцов матрицы, в которых все элементы отличаются
помогите пжлста разобраться с массивами, в си новичок, на форуме похожие задачки не нашла. задание...

Образовать матрицу A(nxn), сгенерировав элементы случайным образом. Определить индексы минимального элемента матрицы. Определить индексы максимального
Образовать матрицу A(nxn), сгенерировав элементы случайным образом. Определить индексы минимального...

Для заданной матрицы 8x8 найти такие k, при которых k-я строка матрицы совпадет с k-ым столбцом
Решение не нужно) Нужно объяснение того, что от меня хотят)

Для заданной матрицы 8х8 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом
Для заданной матрицы 8х8 найти такие k, при которых k-я строка матрицы совпадает с k-м столбцом....

6
4 / 4 / 0
Регистрация: 03.10.2010
Сообщений: 14
29.05.2011, 15:26 2
Потрібно пройтися циклом по всіх елементах і зробити для кожного перевірку...Щось типу
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
if(i<n-1&&i>0&&j<m-1&&j>0)
{
    if(a[i][j]==0&&a[i-1][j]==0&&a[i+1][j]==0&&a[i][j-1]==0&&a[i][j+1]==0)
        b[i][j]=1;
    else b[i][j]=0;
}
if(){}
if(){}
.......
}
Але слід врахувати що в елементів по кутках матриці і коли i==0 або j==0 то в них є не всі сусідні елементи.Для того потрібна найперша if з того що я написала...
Надіюсь ідея зрозуміла...
1
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
29.05.2011, 15:35  [ТС] 3
LittleLi, спасибо за отклик, но не могли бы вы на русском обьяснить, а то я по украйнский ни бум-бум.

Добавлено через 1 минуту
И что нужно вписать в 10,11 строки?
0
4 / 4 / 0
Регистрация: 03.10.2010
Сообщений: 14
29.05.2011, 15:40 4
я русский тоже очень плохо знаю ....
Пользуюсь Google translate

Нужно пройтись циклом по всем элементам и сделать для каждого проверку ... Что-то типа

C++
1
2
3
4
5
6
7
8
9
10
11
12
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
if(i<n-1&&i>0&&j<m-1&&j>0)
{
        if(a[i][j]==0&&a[i-1][j]==0&&a[i+1][j]==0&&a[i][j-1]==0&&a[i][j+1]==0)
                b[i][j]=1;
        else b[i][j]=0;
}
if(){}
if(){}
.......
}


Но следует учесть что у элементов по углам матрицы и когда i == 0 или j == 0 то у них есть не все соседи.Для того нужна первая if из того что я написала ...
Надеюсь идея понятна ...

туда надо добавить if похожи на первую для проверки о которой я писала...
1
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
29.05.2011, 15:47  [ТС] 5
LittleLi, а можно по подробней а то я не совсем вникаю.
0
4 / 4 / 0
Регистрация: 03.10.2010
Сообщений: 14
29.05.2011, 15:59 6
ну надо рассмотреть случаи когда a [i] [j] находится в углу матрицы, когда не в углу но у края и посередине ..
что то вроде
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
#include<iostream>
using namespace std;
void main()
{
    const int n=4,m=4;
    int a[n][m],b[n][m];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";
            cin>>a[i][j];
        }
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            if(i<n-1&&i>0&&j<m-1&&j>0)
            {
                if(a[i][j]==0&&a[i-1][j]==0&&a[i+1][j]==0&&a[i][j-1]==0&&a[i][j+1]==0)
                    b[i][j]=1;
                else b[i][j]=0;
            }
            else if(i==0&&j==0)
            {
                if(a[0][0]==0&&a[0][1]==0&&a[1][0]==0)
                    b[i][j]=1;
                else b[i][j]=0;
            }
            else if(i==0&&j==n)
            {
                if(a[0][n]==0&&a[0][n-1]==0&&a[1][n]==0)
                    b[i][j]=1;
                else b[i][j]=0;
            }
else if(i==n&&j==0)
            {
                if(a[n][0]==0&&a[n-1][0]==0&&a[n][1]==0)
                    b[i][j]=1;
                else b[i][j]=0;
            }
            else if(i==n&&j==n)
            {
                if(a[n][n]==0&&a[n][n-1]==0&&a[n-1][n]==0)
                    b[i][j]=1;
                else b[i][j]=0;
            }
            else if(i==0&&j!=0&&j!=n)
            {
                if(a[i][j]==0&&a[i][j-1]==0&&a[i][j+1]==0&&a[i+1][j]==0)
                    b[i][j]=1;
                else b[i][j]=0;
            }
        ......................
        }
 
        for (int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(j==0)cout<<endl<<a[i][j]<<" ";
                else cout<<b[i][j]<<" ";
            }
        }
        system("PAUSE");
}


эта программа еще не закончена

но возможно есть лучший более быстрый метод, это то что первое в голову пришло
1
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
29.05.2011, 16:10  [ТС] 7
Спасибо,щас попробую разобраться.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2011, 16:10
Помогаю со студенческими работами здесь

Для заданной матрицы размером 8 на 8 найти такие k,при которых k-я строка матрицы совпадет с k-ым столбцом
Для заданной матрицы размером 8 на 8 найти такие k,при которых k-я строка матрицы совпадет с k-ым...

Выбросить из матрицы элементы, индексы которых делятся на четыре, и заменить их максимальным элементом
Данный массив m * n . Выбросить из массива те элементы , индексы которых делятся на четыре и...

Без функ. Для заданной матрицы размером 8 на 8 найти такие k, при которых k-я строка матрицы совпадет с k-ым столбцом
Для заданной матрицы размером 8 на 8 найти такие k,при которых k-я строка матрицы совпадет с k-ым...

Для квадратной матрицы определить индексы максимального элемента главной диагонали матрицы
Для квадратной матрицы определить индексы максимального элемента главной диагонали матрицы

Получить массив, где будут храниться индексы строк матрицы, в которых есть равные элементы
2. Дан прямоугольный массив A. Получить линейный массив B, в котором будут храниться номера тех...

Образовать матрицу A(nxn), сгенерировав элементы случайным образом. Определить индексы минимального элемента матрицы.
Образовать матрицу A(nxn), сгенерировав элементы случайным образом. Определить индексы минимального...


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

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

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