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
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. Начал было перегружать оператор сравнивания, но головная боль лишняя, да и тоже не школьное это
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку