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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 20:10   #1
Александра_69
Пользователь
 
Регистрация: 28.10.2011
Сообщений: 22
Восклицание Найти куб в кубе

Есть куб размерностью N, состоящий из нулей и единиц. Надо найти в нем кубы, состоящие только из нулей и вывести его координаты. Мне сказали, что в решении должен быть тройной цикл в тройном цикле. Нет никаких идей, выручайте)
Александра_69 вне форума Ответить с цитированием
Старый 22.03.2012, 20:40   #2
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

как это куб размерностью N, состоящий из нулей и единиц?
кооринаты единичного куба в N-мерном пространстве что ли?
если да, то ответ начало координат если я правильно мышлю
Kukurudza вне форума Ответить с цитированием
Старый 22.03.2012, 21:24   #3
Александра_69
Пользователь
 
Регистрация: 28.10.2011
Сообщений: 22
По умолчанию

просто создается трехмерный массив и заполняется рандомом нулями и еденицами
вот код создания и вывода на экран массива:
Код:
	int n;
	printf("Vvedite razmernost' kuba N: ");
	scanf("%d",&n);
	printf("\nKub: (0-prozrachnye,1-neprozrachnye elementarnye kybiki):\n");
	char*** arr=new char**[n];
    for(int i=0;i<n;++i)
	{		
		printf("Gran' %d:\n",i);
        arr[i] = new char*[n];
        for(int j=0;j<n;++j)
		{
			arr[i][j] = new char[n];			
            for(int k = 0;k<n;++k)
			{	
				arr[i][j][k]=rand()%2;
				printf("%d ",arr[i][j][k]);
			}
			printf("\n");
         }
		 printf("\n");
     }
Александра_69 вне форума Ответить с цитированием
Старый 23.03.2012, 11:32   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Как проверить, что весь куб состоит из нулей:
Код:
bool ZerosOnly(int*** arr, int N)
 {
 for (int i = 0; i < N; ++i)
  for (int j = 0; j < N; ++j)
   for (int k = 0; k < N; ++k)
    if (arr[i][j][k])   //оно же arr[][][] != 0
     return false;
 return true;
 }
Незначительные модификации позволят проверить куб с заданными координатами начала и размера. Сделать цикл по всем возможным координатам начала и подходящим размерам, проверить этой функцией все такие кубы.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
среди членов последовательности 1+n,2+n(в квадрате), 3+n(в кубе),4+n(в четвертой степени)..... amikulia Помощь студентам 1 14.01.2011 22:32
Куб в 3D Dixmix20120 Помощь студентам 1 19.12.2010 11:37
как записать arctg(в кубе)(4x)? Latino Microsoft Office Excel 2 05.06.2010 15:09
Ассемблер. y=x3+x-8 , где x3 - x в кубе GrabbeR Помощь студентам 2 17.03.2010 12:59
Перколяция в кубе yulia Помощь студентам 0 25.11.2007 21:31