Advertisement
Savelyev_Vyacheslav

task_1_3ver4

Oct 20th, 2021
904
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.89 KB | None | 0 0
  1. %% 1,3
  2. clear
  3. clc
  4. close all
  5.  
  6. size=6; % размер
  7. TASK1 = rand(size,size);
  8.  
  9. varios=MakeVaribl(size);
  10.  
  11.  
  12.  
  13. jj=1;
  14. max=length(varios);
  15. arrOut=[];
  16. while max>jj
  17.         a=varios(jj,1); arrOut = cat(1,arrOut,TASK1(a,:));
  18.         a=varios(jj,2); arrOut = cat(1,arrOut,TASK1(a,:));
  19.         a=varios(jj,3); arrOut = cat(1,arrOut,TASK1(a,:));
  20.         a=varios(jj,4); arrOut = cat(1,arrOut,TASK1(a,:));
  21.         a=varios(jj,5); arrOut = cat(1,arrOut,TASK1(a,:));
  22.         a=varios(jj,6); arrOut = cat(1,arrOut,TASK1(a,:));
  23.              
  24. diagonal=diag(arrOut);
  25. diagonalDIFFER = diff(diagonal);
  26. MinTASK1 = min(diagonalDIFFER);
  27.  
  28.     if (MinTASK1>=0)disp('РЕШЕНО');arrOut  
  29.     break; end
  30. arrOut=[];
  31. jj=jj+1;
  32.     if jj==max
  33.     disp('МАССИВА НЕТ'); end
  34. end
  35.  
  36.  
  37.  
  38.  
  39. function[val] = MakeVaribl(size)
  40. delit=10; % 65432,1
  41. varios =[];
  42. start=123455;
  43. finish=654321;
  44. for ii = start:1:finish
  45.         num = ii;
  46.         Int1 = mod(num, delit);
  47.         num = fix(num/delit);
  48.         if (Int1>size || Int1==0) continue;
  49.         end
  50.         Int2 = mod(num, delit); num = fix(num/delit);
  51.         if (Int2>size || Int2==0) continue;
  52.         end
  53.         Int3 = mod(num, delit); num = fix(num/delit);
  54.         if (Int3>size || Int3==0) continue;
  55.         end
  56.         Int4 = mod(num, delit); num = fix(num/delit);
  57.         if (Int4>size || Int4==0) continue;
  58.         end
  59.         Int5 = mod(num, delit); num = fix(num/delit);
  60.         if (Int5>size || Int5==0) continue;
  61.         end
  62.         Int6 = mod(num, delit); num = fix(num/delit);
  63.         if (Int6>size || Int6==0) continue;
  64.         end
  65.     order = [Int1,Int2,Int3,Int4,Int5,Int6];
  66.     unikal = unique(order);
  67.     if ((length(order)==length(unikal)))
  68.         varios = cat(1,varios,order);
  69.     end  
  70. end
  71. val=varios;
  72. T=table(varios);
  73. writetable(T,'data_surfer.txt'); %% https://www.cyberforum.ru/matlab/thread1964964.html
  74. end
  75.  
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement