IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> обработка нетипизированного файла
inviceble
сообщение 8.01.2008 19:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Здраствуйте.

Немогу придумать алгоритм процедуры, которая должна читать из файла record записи, проверять на условие, прошедшие в условие сортировать в алфавитном и записывать в другой файл.
все переменные объявлены в главном варе, это процедура здесь только дополнительные


Код
procedure picture_perepis;

Var
a : integer;
f2 : string[40];
d2 : data2;
mas : array [1..3,1..3] of picture;
j : integer;
Begin
clrscr;
f1:='C:\shakhov\picture.dat';
f2:='c:\shakhov\picture2.dat';
assign(d1,f1);
assign(d2,f2);
reset(d1);
repeat
   read(d1,pic);
   with pic do
   begin
      for i := 1 to 3 do
         begin;
         mas[i,1]:=nazv;
         mas[i,2]:=avt;
         mas[i,3]:=god;
         end;
   end;
until EOF(d1);
for i := 1 to 3 do
   begin
      for j:= 1 to 3 do
         write(' ',mas[i,j],' ');
   writeln;
   end;
writeln;
close(d1);
clrscr;
end;


Сообщение отредактировано: inviceble - 8.01.2008 19:58
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
Ozzя
сообщение 9.01.2008 9:24
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


inviceble
Так не пойдет.
Приведи полный текст программы, файл данных, с которым работаешь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
inviceble
сообщение 9.01.2008 10:36
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Вот...
program obrabotka;
uses crt;

Type
picture = record
nazv, avt : string[20];
god : integer;
end;
picture2 = record
nazv2,avt2 : string[20];
god: integer;
end;
data = file of picture;
data2 = file of picture2;

Var
pic : picture;
i,v : integer;
f1 : string[40];
d1 : data;

Procedure picture_search;

Var
search: string[20];
Begin
clrscr;
f1:='c:\shakhov\picture.dat';
assign(d1,f1);
reset(d1);
write('vvedite nazvanie kartini: ');
readln(search);
repeat
read(d1,pic);
with pic do
begin
if nazv=search then
begin
writeln('naideno:');
writeln;
writeln('Nazvanie: ',nazv,' Avtor: ',avt,' God: ',god);
end;
end;
until EOF(d1);
Close(d1);
repeat until keypressed;
clrscr;
end;

Procedure picture_old;

Var
min : integer;

Begin
clrscr;
min:=3000;
f1:='c:\shakhov\picture.dat';
assign(d1,f1);
reset(d1);
repeat
read(d1,pic);
with pic do
if min>god then min:=god;
until EOF(d1);
close(d1);
assign(d1,f1);
reset(d1);
repeat
read(d1,pic);
with pic do
begin
if min=god then
begin
writeln('Naideno');
writeln('Nazvanie: ',nazv,' Avtor: ',avt);
end;
end;
until EOF(d1);
close(d1);
repeat until Keypressed;
clrscr;
end;

procedure picture_perepis;

Var
a : integer;
f2 : string[40];
d2 : data2;
mas : array [1..3,1..3] of picture;
j : integer;
Begin
clrscr;
f1:='C:\shakhov\picture.dat';
f2:='c:\shakhov\picture2.dat';
assign(d1,f1);
assign(d2,f2);
reset(d1);
repeat
read(d1,pic);
with pic do
begin
for i := 1 to 3 do
begin;
mas[i,1]:=nazv;
mas[i,2]:=avt;
mas[i,3]:=god;
end;
end;
until EOF(d1);
for i := 1 to 3 do
begin
for j:= 1 to 3 do
write(' ',mas[i,j],' ');
writeln;
end;
writeln;
close(d1);
clrscr;
end;


Begin
clrscr;
while 1=1 do
begin
writeln('1. Poisk');
writeln('2. Samaya staraya kartina');
writeln('3. perepis statih kartin');
writeln('4. vihod');
writeln('viberite variant');
readln(v);
Case v of
1: picture_search;
2: picture_old;
3: picture_perepis;
4: exit;
else exit;
end;
end;
end.


Прикрепленные файлы
Прикрепленный файл  PICTURE.rar ( 154 байт ) Кол-во скачиваний: 140
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 9.01.2008 10:54
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Сортировка массива записей тут - Записи. Record.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
inviceble
сообщение 9.01.2008 11:33
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Цитата(Ozzя @ 9.01.2008 14:54) *

Сортировка массива записей тут - Записи. Record.

у меня проблема в том что-бы из файла занести значения в массив. при заносе ругается на тип массива
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 9.01.2008 11:43
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Тогда сделай так:
У тебя picture, picture2 - совершенно одинаковые по структуре.
Сделай тип picture и одномерный массив типа picture
Mas_picture : array [1..n] of picture;

Сообщение отредактировано: Ozzя - 9.01.2008 11:44
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
inviceble
сообщение 9.01.2008 12:11
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Цитата(Ozzя @ 9.01.2008 15:43) *
Тогда сделай так:
у меня так и сделано
mas : array [1..3,1..3] of picture;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 9.01.2008 12:22
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Одномерный!

i:=1;
While not eof(d1) do
begin
read(d1,pic);
mas[i]:=pic;
inc(i);
end;

Тогда и программа занесения в массив - такая
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
inviceble
сообщение 10.01.2008 18:36
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


благодарю за помощь
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 21:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"