02.03.2009, 18:55 | #1 (permalink) |
Новичок
Регистрация: 30.12.2008
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Типизированные файлы
Даны три файла целых чисел одинакового размера с именами NameA, NameB и NameC. Создать новый файл с именем NameD, в котором чередовались бы элементы исходных файлов с одним и тем же номером: A0, B0, C0, A1, B1, C1, A2, B2, C2, ... . program laba12; uses crt; var a,b,c,d:file of integer; x,p,i,q,w,e:integer; begin clrscr; assign(a,'NameA.dat'); rewrite(a); assign(b,'NameB.dat'); rewrite(b); assign(c,'NameC.dat'); rewrite(c); assign(d,'NameD.dat'); rewrite(d); randomize; for i:=1 to 10 do begin q:=random (10)-5; p:=random (10)-2; write(a,p); end; write(b,w); write(c,e); close(a);close(b);close(c); reset(a);reset(b);reset(c); While not eof(a) and not eof(b) and not eof (c) do begin read(a,p); write(d,p); read(b,p); write(d,p); read(c,p); write(d,p) end; close(a); close(b); close(c); close(d); reset(d); while not eof(d) do begin read(d,x); write(x); end;} readln; end. |
02.03.2009, 18:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Можно узнать множество полезной информации перейдя по этим ссылкам Файлы Файлы Списки и типизированные файлы. Типизированные файлы. Delphi Паскаль, типизированные файлы Blu ray файлы |
02.03.2009, 19:27 | #2 (permalink) | |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Вместо
Цитата:
Код:
for i:=1 to 10 do begin q:=random (10)-5; p:=random (10)-2; g:=random (10)-2; write(a,p); write(b,q); write(c,g); end; В первом цикле While достаточно оставить только один критерий, так как по условию задачи все исходные файлы одинакового размера. Также стоит убрать фигурную скобку после end; в конце программы
__________________
Убить всех человеков! |
|
02.03.2009, 21:04 | #3 (permalink) |
Новичок
Регистрация: 30.12.2008
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вот сделал ну все ровно что-то не так
program laba12; uses crt; var a,b,c,d:file of integer; x,p,i,q,w,e,g,n:integer; begin clrscr; assign(a,'NameA.dat'); rewrite(a); assign(b,'NameB.dat'); rewrite(b); assign(c,'NameC.dat'); rewrite(c); assign(d,'NameD.dat'); rewrite(d); write('vved n='); readln(n); randomize; for i:=1 to 10 do begin q:=random (10)-5; p:=random (10)-2; g:=random (10)-2; write(a,p); write(b,q); write(c,g); end; write(b,w); write(c,e); close(a);close(b);close(c); reset(a);reset(b);reset(c); While not eof(a) and not eof(b) and not eof (c) do begin read(a,p); write(d,p); read(b,p); write(d,p); read(c,p); write(d,p) end; close(a); close(b); close(c); close(d); reset(d); while not eof(d) do begin read(d,x); write(x, ' '); end; readln; end. |
02.03.2009, 21:53 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
P.S. Пожелание на будущее - более осмысленно выбирать идентификаторы. Например, насколько читабельнее была бы программа, если файлы назвать, например, f1, f2, f3, f4, а числа, соответственно, - a1, a2, a3, a4, ну или как-нибудь в этом роде. А то у Вас что файлы, что числа - a, b, c, p, q и т.п. |
|
03.03.2009, 21:36 | #5 (permalink) |
Новичок
Регистрация: 30.12.2008
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Всё равно она не правильно работает,помогите доделать плиз,уж очень срочно надо.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
04.03.2009, 17:02 | #9 (permalink) | |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Цитата:
__________________
Убить всех человеков! |
|
04.03.2009, 17:41 | #10 (permalink) |
Member
Регистрация: 24.12.2008
Сообщений: 419
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1311
|
И у меня программа стала работать, но после того, как я убрала все ' '. Иначе выдавала ошибку: нельзя преобразовать тип char к типу integer.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|