Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Обработка файлов и массивов

Автор: annna 21.04.2004 23:52

В файле W задан массив из девяти элементов. В новом файле WW сформировать массив, в котором каждому элементу будет присвоено значение соседнего с ним справа. Последнему элементу присвоить значение первого.

Автор: Altair 22.04.2004 10:18

Файл титпизированный? (говорю же - сразу надо точно писать условие)

Автор: annna 22.04.2004 21:41

Oleg_Z
Это не дано в условии, но скорее всего нет.

Автор: Altair 22.04.2004 23:01

Ок, сделаем на текстовый (скорее всего так, чтобы легко его вводить было)

Автор: Altair 22.04.2004 23:41

Сделал для вас 2 варианта. 1 -это с текстовым фалом, второй-с типизированным

Код
{ў аЁ ­в 1 - д ©« ’…Љ‘’Ћ‚›‰, Є ¦¤л© н«-в ­  ­®ў®© бва®ЄҐ}
Program Massivi_iz_faila;
uses crt;
var
w:text;  {д ©« Ё§ Є®в®а®Ј® зЁв Ґ¬}
ww:text; {­®ўл© д ©«, ў Є®в®ал© § ЇЁблў Ґ¬}
a:array[1..9] of integer; {Є Є®Ј® вЁЇ  н«Ґ¬Ґ­вл ¬ ббЁў  - ­Ґ ў ¦­®, ¬®¦­® ¬Ґ­пвм}
filename,fn2:string; {Їгвм Є д ©«г}
i:byte;
begin
ClrScr; {®зЁбвЁ¬ нЄа ­}
Writeln('‚ўҐ¤ЁвҐ Ё¬п д ©«  FILE NAME : ');
readln(filename);
Assign(w,filename);
{$I-} reset(w); {$I+}
If IoResult<>0 then
begin
 writeln('Ћ??ЃЉЂ, ERROR, д ©« Ќ… ®вЄалв, NOT RESET!');
 writeln('‡ ЇгбвЁвҐ Їа®Ја ¬¬г б­®ў ');
 halt(IoResult) {§ ўҐаи Ґ¬ а Ў®вг, б Є®¤®¬ ®иЁЎЄЁ}
end;
{зЁв Ґ¬ ¬ ббЁў}
For i:=1 to 9 do readln(w,a[i]);
{Ј®в®ўЁ¬ ­®ўл© д ©« ww}
writeln; writeln('‚ўҐ¤ЁвҐ Ё¬п ᮧ¤ ў Ґ¬®Ј® д ©« ');
readln(fn2);
Assign(ww,fn2);
{ᮧ¤ Ґ¬ д ©«}
rewrite(ww);
{§ ЇЁблў Ґ¬ вг¤  Ё­д®а¬ жЁо, Ї® § ¤ ­Ёо}
{§ ЇЁблў Ґ¬ б­ з «  б 2 Ї® 9 н«-в   Ї®в®¬ ў Є®­Ґж 1 н«-в, в ЄЁ¬ ®Ўа §®¬
 Ї®«гз Ґ¬ ᬥ饭ЁҐ н«-в®ў ўЇа ў®.}
For i:=2 to 9 do writeln(ww,a[i]);
writeln(ww,a[1]);
writeln('ўбҐ, ўбҐ ¤Ґ©бвЁп ўлЇ®«­Ґ­­л Ї® § ¤ ­Ёо!');
Close(w); Close(ww);
end.

вариант 21
Код

{ў аЁ ­в 2 - д ©« вЁЇЁ§Ёа®ў ­­л©}
Program Massivi_iz_faila;
uses crt;
var
w:file of integer;  {д ©« Ё§ Є®в®а®Ј® зЁв Ґ¬}
ww:file of integer;  {­®ўл© д ©«, ў Є®в®ал© § ЇЁблў Ґ¬}
a:array[1..9] of integer; {Є Є®Ј® вЁЇ  н«Ґ¬Ґ­вл ¬ ббЁў  - ­Ґ ў ¦­®, ¬®¦­® ¬Ґ­пвм}
filename,fn2:string; {Їгвм Є д ©«г}
i:byte;
begin
ClrScr; {®зЁбвЁ¬ нЄа ­}
Writeln('‚ўҐ¤ЁвҐ Ё¬п д ©«  FILE NAME : ');
readln(filename);
Assign(w,filename);
{$I-} reset(w); {$I+}
If IoResult<>0 then
begin
 writeln('Ћ??ЃЉЂ, ERROR, д ©« Ќ… ®вЄалв, NOT RESET!');
 writeln('‡ ЇгбвЁвҐ Їа®Ја ¬¬г б­®ў ');
 halt(IoResult) {§ ўҐаи Ґ¬ а Ў®вг, б Є®¤®¬ ®иЁЎЄЁ}
end;
{зЁв Ґ¬ ¬ ббЁў}
{­Ґ § Ўлў Ґ¬, зв® 1 н«-в ў вЁЇЁ§Ёа. д ©«Ґ - ­ б ¬®¬ ¤Ґ«Ґ ­г«Ґў®©}
for i:=1 to 9 do
begin
 seek(w,(i-1));
 read(w,a[i])
end;
{Ј®в®ўЁ¬ ­®ўл© д ©« ww}
writeln; writeln('‚ўҐ¤ЁвҐ Ё¬п ᮧ¤ ў Ґ¬®Ј® д ©« ');
readln(fn2);
Assign(ww,fn2);
{ᮧ¤ Ґ¬ д ©«}
rewrite(ww);
{§ ЇЁблў Ґ¬ вг¤  Ё­д®а¬ жЁо, Ї® § ¤ ­Ёо}
{§ ЇЁблў Ґ¬ б­ з «  б 2 Ї® 9 н«-в   Ї®в®¬ ў Є®­Ґж 1 н«-в, в ЄЁ¬ ®Ўа §®¬
 Ї®«гз Ґ¬ ᬥ饭ЁҐ н«-в®ў ўЇа ў®.}
For i:=2 to 9 do
begin
 seek(ww,(i-2));
 write(ww,a[i])
end;
seek(ww,filesize(ww)); {ЇҐаҐ¬Ґй Ґ¬ ­  Ї®б«Ґ¤­Ё© н«-в}
write(ww,a[1]);
writeln('ўбҐ, ўбҐ ¤Ґ©бвЁп ўлЇ®«­Ґ­­л Ї® § ¤ ­Ёо!');
Close(w); Close(ww);
end.

Автор: annna 23.04.2004 0:40

big tnx smile.gif

Автор: Altair 23.04.2004 17:28

Цитата
big tnx

А что это значит?

Автор: annna 23.04.2004 23:48

Oleg_Z
Ну енто спасибо, на старорусском ;)

Автор: Altair 24.04.2004 2:20

Понял!, fhgd (а ето пожалуста по старорусски) ;) smile.gif

Автор: HelpAusHeaven 25.04.2004 7:57

Цитата(Oleg_Z @ 23.04.04 22:20)
Понял!, fhgd (а ето пожалуста по старорусски)  ;)  smile.gif

хмsmile.gif а терь я ничего не понялsmile.gif smile.gif
big tnx = big thanks (по созвучию)
fhgd равно чему? you're welcome?smile.gif че т не подходитsmile.gif smile.gif smile.gif

Автор: Altair 25.04.2004 9:06

Цитата
fhgd равно чему?
Да не чему не равно! Я просто первое сочетание на клаве написал. smile.gif
Вот люди пошли, шутки начинают исследовать на созвучие... smile.gif прямо настоящие программеры smile.gif