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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2011, 14:46   #1
just_dake
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 39
Вопрос Будем называть соседями элемента с индексами ij некоторой матрицы такие элементы этой матрицы, соответ...

Доброго дня! Тут есть такая задачка:Будем называть соседями элемента с индексами ij некоторой матрицы такие элементы этой матрицы, соответсвующие индексы которых отличаются от i и j не более чем на 1. Для данной целочисленной матрицы [Aij] размером mxn найти матрицу из 0 и 1 [Bij], элемент которой b[ij] равен 1, когда все соседи a[ij] и само a[ij] равны нулю.
Может кто растолковать как это решается, желательно решить
just_dake вне форума Ответить с цитированием
Старый 29.05.2011, 16:04   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Если у вас трудности по определению сосодей.то смотрите картинку.

А далее проверяете на выполнение условия
Код:
когда все соседи a[ij] и само a[ij] равны нулю
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.05.2011, 16:13   #3
just_dake
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 39
По умолчанию

Спасибо doober, можете посмотреть требует ли этот код еще какого-нибудь дополнения?
Код:
#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");
}
just_dake вне форума Ответить с цитированием
Старый 29.05.2011, 17:26   #4
just_dake
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 39
По умолчанию

Дорогие форумчане! Я до сих пор не могу понять что от меня требуется, пожалуйста кто знает растолкуйте пожалуйста!!! Скажем с маленькой матрицей размером 2х2. (Предыдущую задачку решал не я )

Последний раз редактировалось just_dake; 29.05.2011 в 18:17.
just_dake вне форума Ответить с цитированием
Старый 29.05.2011, 18:38   #5
just_dake
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 39
По умолчанию

Не уж то никто не просветит?
just_dake вне форума Ответить с цитированием
Старый 30.05.2011, 13:34   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Не уж то никто не просветит?
Дык что ж просвещать то?!
Вы пост #2 от doober видите? Там рисунок видите?
Ваша задача найти такой элемент в матрице, в котором находится единица, а вокруг этой единицы (прилегающие клетки-соседи) есть только нули.
и всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.12.2018, 14:24   #7
SonOfZeus
Новичок
Джуниор
 
Регистрация: 28.12.2018
Сообщений: 1
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Если у вас трудности по определению сосодей.то смотрите картинку.

А далее проверяете на выполнение условия
Код:
когда все соседи a[ij] и само a[ij] равны нулю
Цитата:
Сообщение от doober Посмотреть сообщение
Если у вас трудности по определению сосодей.то смотрите картинку.

А далее проверяете на выполнение условия
Код:
когда все соседи a[ij] и само a[ij] равны нулю
А рисунка то нет
Мне тоже нужна помощь )
SonOfZeus вне форума Ответить с цитированием
Старый 28.12.2018, 14:33   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А что ж тут такого, что без рисунка не разобраться? Берем матрицу:
1 2 3 4
5 6 7 8
9 10 11 12
Какие соседи у 1? 2, 5, 6
у 2? 1, 3, 5, 6, 7
у 6? 1, 2, 3, 5, 7, 9, 10, 11
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для матрицы 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. (Задание на Си) Ислам Помощь студентам 8 20.05.2011 20:56
Процедуры - вычислить количество элементов матрицы,кратных 5 и заменить на 0 все четные элементы матрицы Ksenichka Помощь студентам 1 19.05.2011 14:38
Элементы матрицы. Все ненулевые элементы массива D(k) расположить в начале массива E(k) и подсчитать их к Вася Маклауд Помощь студентам 0 03.04.2011 17:21
Pascal - Найти сумму всех ее отрицательных элементов и заменить ею все диагональные элементы этой матрицы NewBi Паскаль, Turbo Pascal, PascalABC.NET 2 24.04.2010 09:15
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19