• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите, пожалуйста, подредактировать, Pascal

  • Автор темы Автор темы Natashka
  • Дата начала Дата начала

Natashka

Ученик
Регистрация
30 Сен 2012
Сообщения
8
Реакции
0
Баллы
0
Помогите, пожалуйста, подредактировать, 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.
 
Назад
Сверху