![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 17.10.2011
Сообщений: 4
|
![]()
Добрый день!!!
Нужна помощь. Я сделал программу по работе с массивами. А препод попался редкостная гнида. Он требует чтобы программа сохраняла в текстовые файлы массивы на каждом этапе. А также, чтобы могла загружать файлы, возможно, для этого потребуются новые процедуры. У меня здоровья нехватает ей сделать. Помогите 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. |
![]() |
![]() |