Страница 1 из 2

Re: Помогите решить простую задачу {СРОЧНО!}

Добавлено: 09 дек 2006, 15:23
CADE
Дан файл f1 целых чисел. Создать новый файл f2, содержащий неубывающую
последовательность файла f1 и включающий в себя минимальный элемент
файла f1.

Re: Задача с файлом. Pascal

Добавлено: 21 дек 2006, 07:50
Oleg_Rus
в смысле надо просто отсортировать массив?
если да, то это просто...

Procedure ReadFile;
While not EoF do
begin
Read (a);
inc(i);
inc(n);
End;
End;

Procedure Sort;
For i:=1 To n Do
For j:=1 To n Do
If a[j]<a[j+1] Then
Begin
Buf:=a[j];
A[j]:=a[j+1];
a[j+1]:=Buf;
End;
End;

дальше просто выпиши массив в файл и усе...

Re: Задача с файлом. Pascal

Добавлено: 21 дек 2006, 08:31
somewhere
&quot писал(а):Procedure ReadFile;
While not EoF do
begin
Read (a);
inc(i);
inc(n);
End;
End;

Код: Выделить всё

Blockread(F1, a[0], filesize(f1), n);

Re: Задача с файлом. Pascal

Добавлено: 22 дек 2006, 05:59
Oleg_Rus
&quot писал(а):Код:
Blockread(F1, a[0], filesize(f1), n);
BlockRead? Не встречал раньше...
somewhere, не мог бы ты объяснить мне это?

Re: Задача с файлом. Pascal

Добавлено: 22 дек 2006, 12:58
somewhere
BlockRead(F, Buf, NumRec, ReadedRec)

Читает из файла F в переменную Buf число записей NumRec. После исполнения возвращает в ReadedRec число фактически прочитанных записей. Размер записи устанавливается при открытии - если типизированный файл, то это размер типа, если нет - то используется параметр, переданный процедуре Reset.

Re: Задача с файлом. Pascal

Добавлено: 05 янв 2007, 01:38
CADE
Здравствуйте! С наступившим вас всех.
Ребят помогите плиз надо пару задачек решить очень надо.

1)Создать текст типа string. Определить самое короткое слово в каждом
предложении. Собрать их в новый текст, затем удлинить до средней длины
слова дублированием последней буквы.

2)Составить список участников соревнований, указав разряд, возраст, пол.
Сделать прогноз исхода соревнований, учитывая, что будет иметь успех
участник, который:
1) имеет высший разряд
2) моложе.
Отдельно сделать прогноз на мужчин и женщин.
Зарание спасибо!

Re: Задача с файлом. Pascal

Добавлено: 05 янв 2007, 12:53
Хыиуду
1 задачу уже рассказывали как решать.
Вторая - нечетко поставлено условие. Список может выглядеть, например, так:

Код: Выделить всё

type TSportsman: record
name:string;
rate,age:byte;
sex:char; //возможно, boolean, кому как больше нравится
end;
Var Sportsmen:array[1..100] of TSportsman;
Обращаться к ним, например, так: sportsmen[5].name:='Иван Петрович Сидоров';
if sportsmen[1].sex='F' then writeln('Первый спортсмен - девушка');
А вот с прогнозом - нужны более четкие условия. Во-первых, как в спорте считаются разряды, кто сильнее - первый или второй? Допустим (для дальнейших примеров), что 1 разряд - самый сильный, 5 - самый слабый. Во-вторых, насколько это приоритетно? То есть, кто имеет большие шансы: 10-летний спортсмен 5 разряда или 30-летний спортсмен 4-го? А если 40-летний - 5 разряда, а 60-летний - 4-го?

Re: Задача с файлом. Pascal

Добавлено: 06 янв 2007, 21:43
CADE
список как выглядит без разницы,
1)в спорте чем больше разряд те млучше
2)по поводу возраста чем моложе тем лучше(т.е. 1год сильнее,чем 2года, чем моложе тем приоритеттнее);
1 год -6 разряд> чем 2года 10 разряд.

Re: Задача с файлом. Pascal

Добавлено: 06 янв 2007, 21:44
CADE
а на счет 1 программы неподскажешь, когда рассказывали?

Re: Задача с файлом. Pascal

Добавлено: 06 янв 2007, 21:47
CADE
да еще есле непротив задачка
program laba;
var f,f1:text;
a,max:integer;
begin
assign(f,'f.txt');
reset(f);
while not eof(f) do begin
read(f,a);
if (a>max) then max:=a;
end;
assign(f1,'f1.txt');
rewrite(f1);
reset(f);
while not eof(f) do
begin
read(f,a);
if a<>max then writeln(f1,a);
end;
close(f1);
close(f);
end.
что можно к этой проге придумать чтобы она подлиннее была(ну там отсортиров. или еще что).
Зарание спасобо!!!