Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2011, 22:57   #1
K1NG)
 
Регистрация: 17.10.2011
Сообщений: 4
По умолчанию В/из файла_PLZ

Добрый день!!!
Нужна помощь.
Я сделал программу по работе с массивами.
А препод попался редкостная гнида.
Он требует чтобы программа сохраняла в текстовые файлы массивы на каждом этапе.

А также, чтобы могла загружать файлы, возможно, для этого потребуются новые процедуры.
У меня здоровья нехватает ей сделать.
Помогите PLZ!!!


вот текст моей проги



uses crt,dos; type MATR=array[1..20, 1..20] of integer;
procedure menu;
begin

writeln('VVEDI 1 DLYA OTCHISTKI EKRANA I VIVODA MENU');
WRITELN('VVEDI 2 DLYA VVODA RAZMERA MASIVA');
WRITELN('VVEDI 3 DLYA VIVODA ISHODNOGO MASSIVA');
WRITELN('VVEDI 4 DLYA VIREZANIYA STROKI');
WRITELN('VVEDI 5 DLYA VIVODA OBRAZANNOGO MASSIVA');
WRITELN('VVEDI 6 DLYA VSTAVKI VIREZANNOI STROKI V NACHALNIY MASSIV, VIVODA VIREZANNOI STROKI, NACHALNOGO I OBREZAN.MASSIVA');
writeln('NAJMI ESC DLYA VIHODA');
end;


procedure readsize(var A:MATR;VAR N,m:INTEGER);
VAR I,J:INTEGER;
begin
WRITE('ENTER N=');READLN(N);
write('ENTER M=');READLN(M);
randomize;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(1000);

WRITELN('POLUCHIVSHIYSYA MASSIV');


end;


procedure needStr(VAR A:MATR;N,m,str:integer);
VAR {ONLY cut STR}
I,J:INTEGER;b:matr;
begin
readln(str);
if str>n then writeln('takoi stroki net');

for j:=1 to n do
write(a[str,j],' '); {Read #stroki & write stroku }

for i:=1 to str-1 do
for j:=1 to m do
b[i,j]:=a[i,j];

for i:=str+1 to n do
for j:=1 to m do
b[i-1,j]:=a[i,j];
a:=b;
n:=n-1;
writeln('OBRAZANNIY MASSIV');

for i:=1 to n do
begin
for j:=1 to m do
WRITELN(b[i-1,j]:4);
end;
end;


procedure writecutmas(VAR A:MATR;N,m,str:INTEGER);
{vivod obrezannogo massiva}
VAR I,J,x:INTEGER;b:matr;
begin

for i:=1 to str-1 do begin
for x:=1 to str do
for j:=1 to m do
b[x,j]:=a[i,j];
end;

for i:=str+1 to n do begin
for x:=str to n do
for j:=1 to m do
b[x,j]:=a[i,j];
end;

for i:=1 to n-1 do begin
for j:=1 to m do
write(b[i,j]:4);
writeln;
end;
end; {vivod obrezannogo massiva}




procedure writecut(A:MATR;VAR N,m,STR:INTEGER);
VAR {vivod need str}
I,J:INTEGER;
begin
writeln('NACHALNIY MASSIV ');
writelN;
begin
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end;

writeln('VVEDITE N=');
readln(str);
if str>n then writeln('takoi stroki net');
for j:=1 to m do
write(a[str,j],' '); {Read #stroki & write stroku }
writeln('nujnaya stroka');
writeln(' ');
end;
{vivod obrezannogoo massiva}



procedure EntCutStr(A:MATR;VAR N,m,str:INTEGER);
VAR
I,J,O:INTEGER; b:matr; {vivod kuda write str}
BEGIN
begin


writeln(' ');
writeln('v kakuu stroku massiva vstavit virezannuu srtoku-');
WRITELN;

for j:=1 to m do write(a[STR,j],' ');
writeln(' ');
END;


WRITELN;


for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
WRITELN('VVEDI N=');
readln(o);




for i:=1 to o-1 do
for j:=1 to m do
b[i,j]:=a[i,j];

for i:=o-1 to o do
for j:=1 to m do
b[i,j]:=a[str,j];

for i:=o+1 to n do
for j:=1 to m do
b[i,j]:=a[i,j];



writeln('POLUCHIVSHIYSYA MASSIV ');

for i:=1 to n do
begin
for j:=1 to m do
write(b[i,j],' ');
writeln;
end;
end;




procedure overmas(var A:MATR;N,m:INTEGER);
var i,j:integer;b:matr;
begin
writeln(' ');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
{
for i:=1 to n do
begin
for j:=1 to n do
write(d[i,j],' ');
writeln;
end;
}
end;



{end;}end;

procedure ishmass(VAR A:MATR;N,m:INTEGER);
VAR I,J:INTEGER;
Begin
For i:=1 to n do
begin
For j:=1 to m do
write(a[i,j]:4);
writeln;
End;
end;

var a,B,C,d:MATR;
load,n,m,mas,str,x,min,k,i,j,o:inte ger;

begin textmode(c80);
clrscr;
randomize;
repeat textcolor(10); CLRSCR;

WRITELN('VVEDI 2 DLYA VVODA RAZMERA MASIVA');
WRITELN('VVEDI 3 DLYA VIVODA ISHODNOGO MASSIVA');
WRITELN('VVEDI 4 DLYA VIREZANIYA STROKI');
WRITELN('VVEDI 5 DLYA VIVODA OBRAZANNOGO MASSIVA');
WRITELN('VVEDI 6 DLYA VSTAVKI VIREZANNOI STROKI V NACHALNIY MASSIV, VIVODA VIREZANNOI STROKI, NACHALNOGO I OBREZAN. MASSIVA');


{WRITELN('VVEDU 7 DLYA VIVODA MENU');
WRITELN('VVEDI 8 DLYA VIHODA');
WRITELN('VVEDI 7 DLYA VIVODA MASSIVA SO VSTAVLENNOI STROKOI');
}writeln('NAJMI ESC DLYA VIHODA');
WRITELN;
case reAdkey of

'2':begin readsize(A,N,m);
ishmass(a,n,m) End;
'3':begin ishmass(A,N,m); end;
'6':begin entcutstr(A,N,m,STr); end;
'5':begin writecutmas(A,N,m,str); end;
'4':begin writecut(A,N,m,STR); end;
'7':begin overmas(b,N,m); end;
#27:exit;

else writeln('TAKOI KOMANDI NET');

END;
READLN;
until FALSE;
END.
K1NG) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц