Var a: array[1..50] of integer; b: array[1..2,1..25] of integer; i,j,n: integer; begin writeln('вводите элементы массива, конец ввода по значению 7777'); n: =0; repeat read(i); if i< > 7777 then begin n: =n+1; a[n]: =i end until i=7777; if n mod 2< > 0 then begin n: =n+1; a[n]: =0 end; for j: =1 to n div 2 do begin b[2,j]: =a[2*j-1]; b[1,j]: =a[2*j] end; writeln; for i: =1 to 2 do begin for j: =1 to n div 2 do write(b[i,j]: 5); writeln end end. тестовый прогон: вводите элементы массива, конец ввода по значению 7777 2 5 1 6 9 2 7777 5 6 2 2 1 9 вводите элементы массива, конец ввода по значению 7777 2 5 1 6 9 2 4 7777 5 6 2 0 2 1 9 4
alenaya69918
01.06.2020
Function nums(a: integer): system.uint64; //, 10 цифр же, кортеж не стал лепить, не школьный это тип, а массивы не -то сравниваться любят var num: array [0..9] of byte; begin foreach c: char in a.tostring() do num[strtoint(c)] += 1; result : = system.uint64.parse( string.concat(num[0], num[1], num[2], num[3], num[4], num[5], num[6], num[7], num[8], num[9])); end; var a: array [1..5] of system.uint64; i, j: byte; begin for i : = 1 to 5 do readln(a[i]); for i : = 1 to 4 do for j : = i + 1 to 5 do if (nums(a[i]) = nums(a[j])) then writeln(a[i], ' < -> ', a[j]); end. p.s. начал было перегружать оператор сравнивания, но головная боль лишняя, да и тоже не школьное это