Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите, пожалуйста, подредактировать, Pascal (http://www.tehnari.ru/f41/t83721/)

Natashka 09.01.2013 16:42

Помогите, пожалуйста, подредактировать, 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.