Помогите, пожалуйста, подредактировать, Pascal
Создать текстовый файл, в который построчно записать прямоугольный массив massivnm, заполненный целыми случайными числами в диапазоне от v_min до v_max. Размеры массива n и m задать константами. Границы диапазона v_min и v_max задать с консоли. Определить первый четный и последний нечетный элементы в файле и поменять их местами. При чтении из файла считать размеры массива неизвестными. Определить их при чтении файла.
program z1; uses wincrt; const n=5;m=6; var f:text; massiv:array[1..n,1..m] of integer; v_min,v_max,i,j,n1,n2,m1,m2,c,s,m3,b:integer; n3:real; begin clrscr; randomize; assign(f,'2.txt'); rewrite(f); repeat write('v_min='); readln(v_min); write('v_max='); readln(v_max); until v_max>v_min; for i:=1 to n do begin for j:=1 to m do begin massiv[i,j]:=v_min+random(v_max-v_min+1); write(f,massiv[i,j]:4); end; writeln(f); end; close(f); reset(f); m3:=0; s:=0; while not eof(f) do begin read(f,b); s:=s+1; end; close(f); reset(f); while not eoln(f) do begin read(f,b); m3:=m3+1; end; close(f); writeln('n=',1/2*(s-1)/m3:4:0); writeln('m=',m3:4); reset(f); for i:=1 to n do for j:=1 to m do if massiv[i,j]/2<>int(massiv[i,j]/2) then begin n1:=i; m1:=j; end; for i:=n downto 1 do for j:=m downto 1 do if massiv[i,j]/2=int(massiv[i,j]/2) then begin n2:=i; m2:=j; end; c:=massiv[n1,m1]; massiv[n1,m1]:=massiv[n2,m2]; massiv[n2,m2]:=c; close(f); append(f); writeln(f,''); for i:=1 to n do begin for j:=1 to m do write(f,massiv[i,j]:4); writeln(f); end; close(f); reset(f); while not eof(f) do begin while not eoln(f) do begin read(f,b); write(b:5); end; readln(f); writeln; end; close(f); readln; end. |
Часовой пояс GMT +4, время: 09:15. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.