Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов
Перезагрузить страницу Типизированные файлы
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
юра 3 юра 3 вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.12.2008
По умолчанию Типизированные файлы - 02.03.2009, 18:55

Помогите исправить задачу пожалуйста:

Даны три файла целых чисел одинакового размера с именами 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.
Ответить с цитированием
  (#2 (permalink)) Старый
AlexZir AlexZir вне форума
Member
 
Аватар для AlexZir
 
Сообщений: 1,971
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 19.08.2007
Адрес: Зея
По умолчанию 02.03.2009, 19:27

Вместо
Цитата:
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);
наберите
Код:
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;
и не забудьте определить типы соответствующих переменных в разделе var (можно еще упростить решение)

В первом цикле While достаточно оставить только один критерий, так как по условию задачи все исходные файлы одинакового размера.

Также стоит убрать фигурную скобку после end; в конце программы
Ответить с цитированием
  (#3 (permalink)) Старый
юра 3 юра 3 вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.12.2008
По умолчанию 02.03.2009, 21:04

Вот сделал ну все ровно что-то не так

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.
Ответить с цитированием
  (#4 (permalink)) Старый
Vladimir_S Vladimir_S вне форума
Member
 
Сообщений: 423
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
По умолчанию 02.03.2009, 21:53

Цитата:
Сообщение от юра 3 Посмотреть сообщение
Вот сделал ну все ровно что-то не так

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;
close(d);
readln;
end.
Это убрать (зачем оно там - непонятно; возможно, ошметки других вариантов), это добавить, чтобы числа не слеплялись.
P.S. Пожелание на будущее - более осмысленно выбирать идентификаторы. Например, насколько читабельнее была бы программа, если файлы назвать, например, f1, f2, f3, f4, а числа, соответственно, - a1, a2, a3, a4, ну или как-нибудь в этом роде. А то у Вас что файлы, что числа - a, b, c, p, q и т.п.
Ответить с цитированием
  (#5 (permalink)) Старый
юра 3 юра 3 вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.12.2008
По умолчанию 03.03.2009, 21:36

Всё равно она не правильно работает,помогите доделать плиз,уж очень срочно надо.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Vladimir_S Vladimir_S вне форума
Member
 
Сообщений: 423
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
По умолчанию 03.03.2009, 21:49

Цитата:
Сообщение от юра 3 Посмотреть сообщение
Всё равно она не правильно работает,помогите доделать плиз,уж очень срочно надо.
А, прошу прощения - не досмотрел, что файлы у Вас типа file of Integer а не Text, как я привык. В таком случае уберите все синие вставки
(,' '), кроме последней (close(d)). Всё заработает.
Ответить с цитированием
  (#7 (permalink)) Старый
юра 3 юра 3 вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.12.2008
По умолчанию 03.03.2009, 22:37

Я всё исправил,она работает,но выводит ерунду,набор цифр каких-то.
Ответить с цитированием
  (#8 (permalink)) Старый
Vladimir_S Vladimir_S вне форума
Member
 
Сообщений: 423
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
По умолчанию 03.03.2009, 22:51

Цитата:
Сообщение от юра 3 Посмотреть сообщение
Я всё исправил,она работает,но выводит ерунду,набор цифр каких-то.
А Вы чего ожидали? Песенку Трех Поросят?
Ответить с цитированием
  (#9 (permalink)) Старый
AlexZir AlexZir вне форума
Member
 
Аватар для AlexZir
 
Сообщений: 1,971
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 19.08.2007
Адрес: Зея
По умолчанию 04.03.2009, 17:02

Цитата:
Даны три файла целых чисел одинакового размера с именами NameA, NameB и NameC. Создать новый файл с именем NameD, в котором чередовались бы элементы исходных файлов с одним и тем же номером
Внимательно прочитайте исходное задание и поймете, что вам дано три файла из чисел, которые вы генерируете случайным образом, а нужно получить файл из чисел, которые содержатся в сгенерированных вами трех файлах.
Ответить с цитированием
  (#10 (permalink)) Старый
ummasha ummasha вне форума
Member
 
Аватар для ummasha
 
Сообщений: 288
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.12.2008
Адрес: Брянск - город партизанской славы
По умолчанию 04.03.2009, 17:41

И у меня программа стала работать, но после того, как я убрала все ' '. Иначе выдавала ошибку: нельзя преобразовать тип char к типу integer.
Ответить с цитированием
  (#11 (permalink)) Старый
Vladimir_S Vladimir_S вне форума
Member
 
Сообщений: 423
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
По умолчанию 04.03.2009, 21:38

Цитата:
Сообщение от ummasha Посмотреть сообщение
И у меня программа стала работать, но после того, как я убрала все ' '. Иначе выдавала ошибку: нельзя преобразовать тип char к типу integer.
Да говорю же - мой грех. Всегда тип файлов задаю TEXT, а тут, поди ж ты - не досмотрел, что задан иной тип.
А вообще, для наглядности, стоило бы выводить также содержимое трех исходных файлов, тогда сразу стало бы нагляднее. Кому интересно - попробуйте.
Ответить с цитированием
  (#12 (permalink)) Старый
ummasha ummasha вне форума
Member
 
Аватар для ummasha
 
Сообщений: 288
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.12.2008
Адрес: Брянск - город партизанской славы
По умолчанию 04.03.2009, 21:43

Попробую)))
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированные файлы.найти кол-во компонент стоящих между 1ым отриц. и пос-ним отриц. Sold Pascal 0 02.10.2011 11:42
ФАЙЛЫ (текстовые файлы) dianochka Pascal 0 25.04.2011 23:31
Строки, тип запись и типизированные файлы Mantikora Pascal 1 25.01.2011 16:14
Типизированные файлы прямого доступа Nice Plant Pascal 3 26.03.2010 01:29
Типизированные файлы.... DaviD91bd Pascal 0 12.05.2009 14:29
Не типизированные файлы Виталик 1 Pascal 1 20.06.2008 04:09
файлы {{CaspeR}} Prolog 3 29.05.2007 22:52
Файлы strertkjh Pascal 1 28.05.2007 17:16
Можно ли создавать php-файлы, в которые вшиты другие файлы? feedbee PHP 6 04.12.2005 01:59
Работа со String и типизированные файлы Fixxxer Delphi 3 28.03.2005 12:12
Как сделать типизированные файлы Gold_Dreamer Delphi 11 16.02.2005 18:32



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов