Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: помогите с прогой
     
    
Добавлено: 15.11.06 23:38
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 6JIuH | ICQ: 837503 
      
       
  
я туплю, так что сорр
 
    
значицо
Блин, я туплю
Pole (1 To 9, 1 To 9) // массив 9 на 9
T (1, 2, 3, 4, 5, 6, 7, 8, 9) // стэк
Randomize
' рандомит полностью массив Pole
For k = 1 To 9
' рандомит строчку
For j = 1 To 9
' рандомит Т
For i = 1 To 9
s = Int((9 * Rnd) + 1)
b = T(i)
T(i) = T(s)
T(s) = b
Next i
Pole(j, k) = T(j)
Next j
Next k
программа случайным образом заполняет массив 9*9
нужно чтоб в каждой строке цифры не повторялись, т.е чтоб были 123456789 случайным образом перемешанные в каждой строке 
иль свой вариант, плззззз срочна нада
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 5
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 Шпион
![]()
ICQ: 250543104 
Вопросов: 13
Ответов: 118
      
 Профиль |  | #1
       
Добавлено:  16.11.06 06:42
       
    
       
  
че-то я не очень тех. задание понял
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 Sharp
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Лидер форума
ICQ: 216865379 
Вопросов: 106
Ответов: 9979
      
 Web-сайт:  
 Профиль |  | #2
      
Добавлено:  16.11.06 21:00
       
    
       
  
Генери не рандомную последовательность, а перестановку. Статья про генерацию перестановок есть на этом сайте.
 
    
Пример получения перестановки по ее номеру:
using namespace std;
int fact(int n){
	int res = n ? n : 1;
	for(int i = 2; i < n; i++) res *= i;
	return res;
}
int main(){
	int i, j, r;
	int n = 6, m;
	for(int cm = 0; cm < fact(n); cm++){
		m = cm;
		int *a = new int [n];		// Использованные числа
		for(i = 0; i < n; i++) a[i] = 0;
		for(i = n; i > 0; i--){
			int k = m / fact(i-1);
			for(j = 0, r = 0; j < n; j++){
				if(!a[j]
 r++;
				if(r == k + 1) break;
			}
			a[j] = 1;
			cout << j + 1 << " ";
			m %= fact(i-1);
		}
		delete [] a;
		cout << endl;
	}
	return 0;
}
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 Sacred Phoenix
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 304238252 
Вопросов: 52
Ответов: 927
      
 Профиль |  | #3
       
Добавлено:  16.11.06 22:57
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 AgentFire
![]()
![]()
![]()
ICQ: 192496851 
Вопросов: 75
Ответов: 3178
      
 Профиль |  | #4
       
Добавлено:  17.11.06 12:49
       
    
       
  
может, T(1 to 9) ??
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 6JIuH
![]()
ICQ: 837503 
Вопросов: 1
Ответов: 1
      
 Профиль |  | #5
       
Добавлено:  22.11.06 01:25
       
    
       
  
всем спасибо фсе сделал