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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2016, 10:48   #1
кристин12
Новичок
Джуниор
 
Регистрация: 11.05.2016
Сообщений: 4
Вопрос помогите разобраться с кодом

Код:
int sheeps(int sea[10][10])
{
    int f=1;
    int rand_a, rand_b, ch,s; 
 for (int i=0;i<10;i++)
	{
		for (int j=0;j<10;j++)
			{
				sea[i][j]=0;
			}
	}
   do
	{ 
		f=0;                                 
        rand_a = 0 + rand() %10;
        rand_b= 0 + rand() %10;
        ch = 1+rand()%4;
        if (ch==1)
		{
			for(int i=0;i<3;i++)
			{
				if(rand_a==i)
				{
					f=1;
				}
			}
		}
         if (ch==2) 
		{
			for(int i=7;i<10;i++)
			 {
				 if(rand_a==i)
				 {
					 f=1;
				 }
			}
		 }                          
         if (ch==3) 
		 {
			 for(int i=0;i<3;i++)
			 { 
				 if(rand_b==i)
				 {
					 f=1;
				 }
			 }
		 }
         if (ch==4)  
		 {
			 for(int i=7;i<10;i++)
			 {
					 if(rand_b==i)
					 {
							 f=1;
					 }
			 }
		 }       
     }
 while (f==1);
        switch (ch)
		{
          case 1: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a-1][rand_b]=1; 
			  sea[rand_a-2][rand_b]=1; 
			  sea[rand_a-3][rand_b]=1; 
			  break;
           case 2: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a+1][rand_b]=1; 
			  sea[rand_a+2][rand_b]=1; 
			  sea[rand_a+3][rand_b]=1; 
			   break;
         case 3: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a][rand_b-1]=1; 
			  sea[rand_a][rand_b-2]=1; 
			  sea[rand_a][rand_b-3]=1; 
			break;
          case 4: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a][rand_b+1]=1; 
			  sea[rand_a][rand_b+2]=1; 
			  sea[rand_a][rand_b+3]=1; 
			break;
		}
 for (int i=0;i<3;i++)                                    
     {
       do{
		  f=0;
        rand_a = 0 + rand() %10;
        rand_b= 0 + rand() %10;
        
        ch = 1+rand()%4;
        
          if (ch==1)  
		  {
			  if(rand_a!=0)
			  { 
				  for (int a=rand_a-2;i<rand_a+2;s++)
				  {
                       for (int j=rand_b-1;j<=rand_b+1;j++)
                          {
							if (sea[i][j]!=0)
							{
								f=1;
							}
						  }
				  }
			  }
			  else
				  {
					  f=1; 
				  }
			  
		  }
         if (ts==2)  
		 {
			 if (rand_a!=9)  
			 {  for (int i=rand_a-1;i<=rand_a+2;i++)
			 {
                                          for (int j=rand_b-1;j<=rand_b+1;j++)
                                          { 
											  if (sea[i][j]!=0)
											  {
												  f=1;
											  }
										  }
			 }
			 }
			 else f=1; 
		 }                            
          if (ts==3) 
		  { 
			  if (rand_b!=0) 
			  {   
				  for (int i=rand_a-1;i<=rand_a+1;i++)
                                            for (int j=rand_b-2;j<=rand_b+1;j++)
                                            { 
												if (pole[i][j]!=0){ f=1;}
											}
			  }
			  else f=1; 
		  } 
         if (ts==4) 
		 { 
			 if (rand_b!=9) 
			 {   
				 for (int i=rand_a-1;i<=rand_a+1;i++)
				 {
                                            for (int j=rand_b-1;j<=rand_b+2;j++)
											{ 
												if (pole[i][j]!=0)
												{ 
													f=1;
												}
											}
				 }
			 } 
                                            
			 else f=1;   
		 }                                  
        }
       while (f==1);
		  switch (ch)
		{
          case 1:
			  sea[rand_a][rand_b]=1;
			  sea[rand_a-1][rand_b]=1;
			  break;
          case 2:
			  sea[rand_a][rand_b]=1;
			  sea[rand_a+1][rand_b]=1;
			  break;
          case 3: 
			  sea[rand_a][rand_b]=1;
			  sea[rand_a][rand_b-1]=1;
			  break;
          case 4:
			  sea[rand_a][rand_b]=1;
			  sea[rand_a][rand_b+1]=1;
			  break; 
		}
	 }
for (int k=0;k<2;k++)                                       
     {
       do{
		  f=0;
        rand_a = 0 + rand() %10;
        rand_b= 0 + rand() %10;
        ch= 1+rand()%4;
        if (ch==1)  
		  {
			  if(rand_a!=0)
			  { 
				  for (int i=rand_a-2;i<rand_a+2;i++)
				  {
                       for (int j=rand_b-1;j<=rand_b+1;j++)
                          {
							if (pole[i][j]!=0){f=1;}
						  }
				  }
			  }
			  else f=1; 
			  
		  }
         if (ts==2)  
		 {
			 if (rand_a!=9)  
			 {  for (int i=rand_a-1;i<=rand_a+2;i++)
			 {
                                          for (int j=rand_b-1;j<=rand_b+1;j++)
                                          { 
											  if (pole[i][j]!=0)
											  {
												  f=1;
											  }
										  }
			 }
			 }
			 else f=1; 
		 }                            
          if (ts==3) 
		  { 
			  if (rand_b!=0) 
			  {   
				  for (int i=rand_a-1;i<=rand_a+1;i++)
                                            for (int j=rand_b-2;j<=rand_b+1;j++)
                                            { 
												if (pole[i][j]!=0){ f=1;}
											}
			  }
			  else f=1; 
		  } 
         if (ts==4) 
		 { 
			 if (rand_b!=9) 
			 {   
				 for (int i=rand_a-1;i<=rand_a+1;i++)
				 {
                                            for (int j=rand_b-1;j<=rand_b+2;j++)
											{ 
												if (pole[i][j]!=0)
												{ 
													f=1;
												}
											}
				 }
			 } 
                                            
			 else f=1;   
		 }                                  
        }
       while (f==1);
	   switch (ch)
		{
          case 1: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a-1][rand_b]=1; 
			  sea[rand_a-2][rand_b]=1; 
		
			  break;
           case 2: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a+1][rand_b]=1; 
			  sea[rand_a+2][rand_b]=1; 
			  			   break;
         case 3: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a][rand_b-1]=1; 
			  sea[rand_a][rand_b-2]=1; 
 
			break;
          case 4: 
			  sea[rand_a][rand_b]=1; 
			  sea[rand_a][rand_b+1]=1; 
			  sea[rand_a][rand_b+2]=1; 
			  
			break;
		}
      }
    
    
    for (int i=0; i<4;i++ )                          
    {
		do  
		{
		   rand_a = 0 + rand() %10;
		   rand_b= 0 + rand() %10;
		}
       while (sea[rand_a][rand_b]!=0||sea[rand_a+1][rand_b]!=0||sea[rand_a-1][rand_b]!=0||sea[rand_a][rand_b+1]!=0||sea[rand_a][rand_b-1]!=0||sea[rand_a+1][rand_b+1]!=0||sea[rand_a-1][rand_b-1]!=0||sea[rand_a+1][rand_b-1]!=0||sea[rand_a-1][rand_b+1]!=0);
       
       sea[rand_a][rand_b]=1;
	}
return sea[10][10];
}
:conf used

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 11.05.2016 в 10:55.
кристин12 вне форума Ответить с цитированием
Старый 11.05.2016, 10:56   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Чем помочь-то? В чем именно проблема?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.05.2016, 10:57   #3
кристин12
Новичок
Джуниор
 
Регистрация: 11.05.2016
Сообщений: 4
По умолчанию

для чего ? почему зачем?
кристин12 вне форума Ответить с цитированием
Старый 11.05.2016, 11:02   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что? Где? Когда?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.05.2016, 11:02   #5
кристин12
Новичок
Джуниор
 
Регистрация: 11.05.2016
Сообщений: 4
По умолчанию

не могу разобраься с переменными и циклами
кристин12 вне форума Ответить с цитированием
Старый 11.05.2016, 11:04   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

https://ru.wikipedia.org/wiki/%D0%A6...D0%B8%D0%B5%29
https://ru.wikipedia.org/wiki/%D0%9F...D0%B8%D0%B5%29
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.05.2016, 11:06   #7
кристин12
Новичок
Джуниор
 
Регистрация: 11.05.2016
Сообщений: 4
Вопрос

ну а именно в коде как каметы для чего интеено этот цикл именно в этом ходе
кристин12 вне форума Ответить с цитированием
Старый 11.05.2016, 11:12   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Только автор кода это знает.
Видимо как и условие задачи, которую он пытался решить.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с кодом Coolmem PHP 23 22.04.2015 15:07
Помогите разобраться с кодом! Astiya Помощь студентам 3 29.03.2015 15:33
Помогите разобраться с кодом braviatry11 Общие вопросы Delphi 3 12.06.2014 19:29
Помогите разобраться с кодом Лера.К БД в Delphi 6 21.05.2014 16:36
Помогите разобраться с кодом Superlotles Общие вопросы Delphi 6 19.08.2009 22:24