Есть задача: Вывести одномерный массив B(N) (количество элементов массива кратно числу А). Каждую последовательность из А элементов массива В записать в обратном порядке (дополнительный массив не создавать). Преобразованный массив - на экран. Есть написанная не до конца программа: program Kir2; Uses crt; Type mas=array [1..60] of integer; Var b:mas; n,i,j,a,p,g,c,k,s:integer; begin ClrScr;write('vvedite razmer massiva ');readln(n); for i :=1 to n do begin write('B[',i,']='); readln(b) end; repeat write('Vvedite chislo A kratnoe chisly elementov massiva n '); readln(a); until n mod a=0; g:=n div a; p:=1;k:=g;s:=g div 2; for j:=1 to a do begin for i:=p to k div 2 do begin c:=b; b:=b[k+1-i]; b[k+1-i]:=c end; p:=p+g;k:=k+g;s:=s+g; end; writeln('Preobrazovannii massiv B'); for i:=1 to n do write(b:5); readkey end. В общем программа инвертирует только первую последовательность. А насчет остальных почему то не работает. Наверно что-то с промежутком (выделенная часть), а что именно не пойму. Разбирающиеся люди, подскажите пожалуйста...
еще актуально? вот эту часть: я бы сделал так: for j:=0 to n/a-1 do for i:=j*a to ((j+1)*a-1) div 2 do begin c:=b; b:=b[((j+1)*a)-i]; b[((j+1)*a)-i]:=c end; не утверждаю, что это правильно, нету у меня тут паскаля , если еще актульно, пиши в асю, разберемси