Статистика
Всего в нашей базе более 4 327 657 вопросов и 6 445 963 ответов!

Здравствуйте!! Мне очень срочно нужно помощь.. кто-нибудь будет помогать разбираться с этим?)) Задание такое: Нужно написать программу ,которая по

5-9 класс

исходным данным m и n строит прямоугольный лабиринт mXn. Предусмотреть, чтобы программа при каждом обращении к ней порождала разные лабиринты. Лабиринт должен иметь единственное решение, и, чтобы получившийся лабиринт был интересным, все ячейки должны быть соединены с основным путем, дающим решение. Программу надо написать через С++..Заранее спасибо!!

Andrey201568 07 апр. 2017 г., 12:51:45 (6 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Xoxol4463
07 апр. 2017 г., 14:53:51 (6 лет назад)

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
const int size = 20;
const int fullfill = 100;
const int wallshort= 50;
char m[size+1][size+1];
int r[2][size/2*size/2];
int h;
void initrandom ()
{
 int j=0;
 for (int y=2; y<size; y+=2)
  for (int x=2; x< size; x+=2)
     {
      r[0][j] = x; r[1][j] = y; j++;
     }
 h=j-1;
}
int getrandom(int &x, int &y)
{
 int i = random (h);
 x = r[0][i]; y = r[1][i];
 r[0][i] = r[0][h]; r[1][i] = r[1][h];
 return h--;
}
void view()
{
 for (int y=0; y<=size; y++)
  for (int x=0; x<=size; x++)
   {
    gotoxy (x*2+1,y+1);
    if (m[y][x]==0) cprintf ("..");
    if (m[y][x]==1) cprintf ("__");
  }
}int main(void)
{
  printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\");  printf ("Labirint generator");  for (int c = 0; c < size*size; c++) ((char *)m)[c] = 0;
  for (int i = 0; i <= size; i++)
      {
       m[0][i] = 1; m[size][i] = 1;
       m[i][0] = 1; m[i][size] = 1;
      }
  view ();
  initrandom();
  int startx, starty;
  while (getrandom (startx, starty))
  {
   if (m[starty][startx]==1) continue;
   if (random (100) > fullfill) continue;
   int sx=0,sy=0;
   do
   {
     sx=random (3)-1;
     sy=random (3)-1;
   } while (sx==0 && sy==0 || sx!=0 && sy!=0);   while (m[starty][startx]==0)
   {
    if (random (100) > wallshort)
       {m[starty][startx] = 1; break;}
    m[starty][startx] = 1;
    startx +=sx; starty+=sy;
    m[starty][startx] = 1;
    startx +=sx; starty+=sy;
   }
  }
  view();
  return 0;
}

+ 0 -
AlinaBelkina
07 апр. 2017 г., 17:23:12 (6 лет назад)

чтобы было с гарантией нашел на одном сайте

+ 0 -
Nastyabbb
07 апр. 2017 г., 19:56:58 (6 лет назад)

обнови страницу если невидно

+ 0 -
Elvirasabirova1
07 апр. 2017 г., 21:03:54 (6 лет назад)

Ой спасибо огромное, вы даже не можете представить от чего мне спасли))))

+ 0 -
Zahidov1997
07 апр. 2017 г., 21:45:41 (6 лет назад)

работает?

+ 0 -
Lolo20lilo
08 апр. 2017 г., 0:34:31 (6 лет назад)

у меня тоже сейчас нет под рукой программы С++, я это буду проверить завтра, главное что есть код)) еще раз Спасибо!!)))

Ответить

Другие вопросы из категории

Последовательный (алгоритм действий )перевод в биты :

5 кбайт = ?
2 мбайт = ?

графические форматы
Напишите программу, которая случайным образом заполняет массив из 10 элементов целыми

числами из диапазона [-6;9]. И вывести все элементы массива на экран.

Читайте также

Я прошу Вас,ребятка,помогите,мне очень срочно нужно.

Одномерный массив из 6 элементов с номерами от 3 до 8 заполнить случайным образом числами от 5 до 17. Поменять местами 5-ый и 7-ой элементы массива,а 4-ый элемент увеличить в 3 раза. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.

помогите пожалуйста..очень надо....что нибудь из этих задач..1)написать программу которая поменяет местами первую и последнюю букву в слове. 2)написать

программу которая вставит между буквами веденного слова пробелы 3)написать программу вывода на экран деление двух чисел

5-9 класс информатика ответов нет
Пожалуйста помогите!! очень срочно, нужно написать программу скорей всего мне кажется в паскале

1. Writel(' вести стоимость перчатки наприм')
read (x)
2 стоимость сумки- наприм.
3.стоимость ремня- наприм.
4.если общая сумма больше 800р, то вывести сумму с учетом 10% скидки
5.если сумма меньше 800р, то вывести сумму
Помогите пожалуйста очень нужно, благодарю!!!

Здравствуйте, мне нужна помощь с программой Excel.

Есть программа, которая преобразует слово из трех букв в число в 32-ичной сс(русс. алф).
После этого, переводит число в 10-ую сс.
Максимум может получиться 6 цифр, минимум 3.
Мне
нужно как-то сделать так, чтобы если у меня три цифры, то добавлялось
спереди три нуля, четыре цифры-добавлялось два нуля, пять
цифр-добавлялся один ноль, шесть-не добавлялось ни одного нуля.



Вы находитесь на странице вопроса "Здравствуйте!! Мне очень срочно нужно помощь.. кто-нибудь будет помогать разбираться с этим?)) Задание такое: Нужно написать программу ,которая по", категории "информатика". Данный вопрос относится к разделу "5-9" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.