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

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

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

 
 Ответить  Открыть новую тему 
> задача про строки и файл с записями
Zeon
сообщение 18.05.2004 8:17
Сообщение #1





Группа: Пользователи
Сообщений: 9

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


Не могу с ними разобраться!!! sad.gif

Сообщение отредактировано: Zeon - 18.05.2004 8:18
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zeon
сообщение 18.05.2004 8:19
Сообщение #2





Группа: Пользователи
Сообщений: 9

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


1, Текст задан строкой, напечатать в алфавитном порядке все гласные буквы, которые входят в последнее слово.
и еще одна

2, В файле *.* содержатся записи, имеющие следующую структуру:
group :integer;
memo: string;
Запишите в бинарный файл все записи с полем memo, не содержащим цифры.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 18.05.2004 11:37
Сообщение #3


Гость






1). Русская версия smile.gif
Код

Const
 Delimeters:Set Of Char = [' ',',',';','.','!','?'];
 Letters:Array[1..20] Of Char = ('А','Е','Ё','И','О','У','Ы','Э','Ю','Я','а','е','ё','и','о','у','ы','э','ю','я');
 s = 'Вот такой вот текст мы взяли для проверки';
Var
 i,j,k:Integer;
Begin
 i:=Length(s);
 While i>0 Do
   If s[i] In Delimiters Then
     Break
   Else
     Dec(i);
 For j:=1 To 10 Do
   For k:=i+1 To Length(s) Do
     If (s[k] = Letters[j]) Or (s[k] = Letters[j + 10]) Then
       Write(s[k]);
 WriteLn
End.

2). Кроссязычная версия smile.gif
Код

Var
 f1,f2:Text;
 Group:Integer;
 Memo:String;
 i:Integer;
 b:Boolean;
Begin
 Assign(f1,'In.txt');
 Reset(f1);
 Assign(f2,'Out.Txt');
 ReWrite(f2);
 While Not Eof(f1) Do
 Begin
   ReadLn(f1,Group);
   ReadLn(f2,Memo);
   b:=False;
   For i:=1 To Length(Memo) Do
     If Memo[i] In ['0'..'9'] Then
     Begin
       b:=True;
       Break
     End;
   If Not b Then
   Begin
     WriteLn(f2,Group);
     WriteLn(f2,Memo)
   End
 End;
 Close(f1);
 Close(f2)
End.
 К началу страницы 
+ Ответить 
APAL
сообщение 18.05.2004 11:43
Сообщение #4


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


BlackShadow

А где же описание записей???

... = record .... end.

А то файл получается не с записями, а просто текстовый.
А выходной файл и вовсе не бинарный - насколько я понял он должен быть:

Код
f2 : File;


Сообщение отредактировано: APAL - 18.05.2004 11:47


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 18.05.2004 11:49
Сообщение #5


Гость






А какая разница???????????????????????????????????
Результа-то один и тот же...
 К началу страницы 
+ Ответить 
APAL
сообщение 18.05.2004 12:00
Сообщение #6


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Задачу, скорее всего, задал какой-то препод. И решение не соответствует условиям.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 18.05.2004 12:13
Сообщение #7


Гость






Ну, доставучий какой...
Код

Type
 TData=Record
   Group:Integer;
   Memo:String[255]
 End;

Var
 f1:File Of TData;
 f2:File;
 d:TData;
 i:Integer;
 b:Boolean;

Begin
 Assign(f1,'In.In');
 Reset(f1);
 Assign(f2,'Out.Out');
 ReWrite(f2,1);
 While Not Eof(f1) Do
 Begin
   Read(f1,d);
   b:=False;
   For i:=1 To Length(d.Memo) Do
     If d.Memo[i] In ['0'..'9'] Then
     Begin
       b:=True;
       Break
     End;
   If Not b Then
     BlockWrite(f2,d,sizeOf(d)
 End;
 Close(f1);
 Close(f2)
End.


Вот только для дебага и демонстрации придётся входной файл создать:
Код

Type
 TData=Record
   Group:Integer;
   Memo:String[255]
 End;

Var
 f1:File Of TData;
 d:TData;
 i,n,k,j,l:Integer;

Begin
 Randomize;
 Assign(f1,'In.In');
 ReWrite(f1);
 n:=Random(100);
 For i:= 1 To n Do
 Begin
   d.Group:=Random(32767);
   d.Memo:='';
   k:=Random(256);
   For j:=1 To k Do
     d.Memo:=d.Memo+Char(Random(128-32)+32);
   Write(f1,d)
 End;
 Close(f1)
End.

Вот так, вроде...
 К началу страницы 
+ Ответить 
Zeon
сообщение 18.05.2004 15:26
Сообщение #8





Группа: Пользователи
Сообщений: 9

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


Спасибо всем за внимание ! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 18.05.2004 15:51
Сообщение #9


Гость






Да, не на чем :p2: :P
 К началу страницы 
+ Ответить 
Zeon
сообщение 23.05.2004 7:44
Сообщение #10





Группа: Пользователи
Сообщений: 9

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


Первая задачка че-т не пашет...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BlackShadow
сообщение 23.05.2004 12:07
Сообщение #11


Гость






Ну малёк обшыбсю:
Код

Const
Delimeters:Set Of Char = [' ',',',';','.','!','?'];
Letters:Array[1..20] Of Char = ('А','Е','Ё','И','О','У','Ы','Э','Ю','Я','а','е','ё','и','о','г','л','н','о','п');
s:String = 'Вок такой вот текст мы взяли для проверки';
Var
i,j,k:Integer;
Begin
i:=Length(s);
While i>0 Do
  If s[i] In Delimeters Then
    Break
  Else
    Dec(i);
For j:=1 To 10 Do
  For k:=i+1 To Length(s) Do
    If (s[k] = Letters[j]) Or (s[k] = Letters[j + 10]) Then
      Write(s[k]);
WriteLn
End.
 К началу страницы 
+ Ответить 

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

 



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