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

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

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

 
 Ответить  Открыть новую тему 
> Прога в пределах каждых 5 компонентов в файле осущ. сортировку!
сообщение
Сообщение #1


Новичок
*

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

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


Вообщем вот вся программа - Программа запрашивает имя файла и в пределах каждых 5 компонентов осуществляет сортировку по возрастанию. Результат записывает в другой фаил. smile.gif

Вообщем вот так получилось сделать, первую 5 сортирует, а остальные нехочет sad.gif


uses crt;
type f1=file of integer;

var
f:f1;
j,a,b,i:integer;
name:string;

begin
clrscr;
Writeln('Vvedite imya faila:');
readln(name);
assign(f,name);
Rewrite(f);
Writeln('Zapolnite file');
For i:=1 to 10 do
begin
Readln(a);
Write(f,a);
end;
Seek(f,0);

For i:=4 downto 1 do
For j:=0 to i-1 do
begin
seek(f,j);
read(f,a,b);
if a>b then
begin
seek(f,j);
write(f,b,a);
end;
end;
close(f);
reset(f);
write('Otsortirovanbi pervbie 5 chisel :');
for i:=1 to 5 do
begin
read(f,a);
write(a:4);
end;
seek(f,5);

For i:=4 downto 1 do
For j:=5 to i-1 do
begin
seek(f,j);
read(f,a,b);
if a>b then
begin
seek(f,j);
write(f,b,a);
end;
end;
close(f);
reset(f);
writeln;
write('Otsortirovanbi vtorbie 5 chisel :');
for i:=6 to 10 do
begin
read(f,a);
write(a:4);
end;
close(f);
readkey;
end.



P.s. Спасите, плиззз, завтра сдавать задачу! (p.s. задачу дали сегодня ибо учусь по-субботам)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






blink.gif Сам пятеркой ограничил, и еще спрашиваешь?

А почему процедурами сортировки из FAQ не пользуешься? Они бы тут тоже подошли...

P.S.
Цитата
Результат записывает в другой фаил.
А вот с этого места - поподробнее... Где это у тебя указано, что в "другой" файл?

Кроме этого - после того, как ты занес в файл начальные значения, крайне желательно файл переоткрыть для чтения, иначе не все значения могут в этот файл попасть...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Цитата(volvo @ 25.02.2006 21:10) *

blink.gif Сам пятеркой ограничил, и еще спрашиваешь?

А почему процедурами сортировки из FAQ не пользуешься? Они бы тут тоже подошли...

P.S.
А вот с этого места - поподробнее... Где это у тебя указано, что в "другой" файл?

Кроме этого - после того, как ты занес в файл начальные значения, крайне желательно файл переоткрыть для чтения, иначе не все значения могут в этот файл попасть...

ещё не создал второй фаил... я сначала по пунктам задачу делаю! smile.gif

p.s. Вольво, плизз, напишу всё задачу! плизз, умоляю! прям ужасно надо, могу её сделать в принцепе, но реал прям горит и некогда... других уроков дофига sad.gif((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


Народ, спасите, позарез нужна рабочая задача... rolleyes.gif

"Не пытайся объять необъятное" (С) ... Ты знал, на что шел...

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


Вообщем посидев около 4 часов над задачей, мозк взорвался, но я её сделал. Но теперь мелкие косяки - не могу сделать, чтоб всё красиво выводило... плиз, ну хоть в этом помогите, господа! smile.gif

uses crt;

const n=5;
type f1=file of integer;
type f2=file of integer;
type massiv = array [1..n] of integer;

var
f:f1;
ff:f2;
m:massiv;

v,h,b,k,i,a,r,t:integer;
name:string;

begin
clrscr;
randomize;
writeln('Vvedite file name dla 1 fiyla:');
readln(name);
assign(f,name+'.dat');
rewrite(f);
assign(ff,'name2.dat');
rewrite(ff);
writeln('Vvedite kolichestvo komponentov v file');
Readln®;
writeln;

for i:=1 to r do
begin
a:=random(9)-(-1);
Write(f,a);
seek(f,i-1);
read(f,v);
write(v);
end;
writeln;
writeln;
writeln('Vivod otsortirovannih cisel:');
seek(f,0);

t:=r div 5;
For h:=1 to t do
begin
For i:=1 to 5 do
begin
Read(f,a);
m[i]:=a;
end;

for k:=5 downto 2 do
for i:=1 to 4 do
If m[i]>m[i+1] then

begin
b:=m[i];
m[i]:=m[i+1];
m[i+1]:=b;
end;

writeln('Vivod otsrortirovannix kazhdoy paterki:',m[i]);
for i:=1 to 5 do
begin
write(ff,m[i]);
end;

end;
for i:=1 to r do

begin
seek(ff,i-1);
read(ff,v);
write(v);
end;

readkey;
close(f);
close(ff);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Myasnik, а ты в курсе, что вот это:
type f1=file of integer;
type f2=file of integer;
может тебе сослужить очень плохую службу, потому, что с точки зрения компилятора это два совершенно разных типа, и если будешь модернизировать программу, незаметно для себя получишь "несовместимость типов" и не будешь знать, откуда это...

По поводу программы - я бы делал так:
uses crt;
type
f1 = file of integer;

var
f, g: f1;
X, j, a, b, i: integer;
name, name_2: string;
pos: longint;

begin
clrscr;
write('file #1 name: '); readln(name);
{ name := 'ff_s.dat'; }
assign(f, name); rewrite(f);

write('file #2 name: '); readln(name_2);
{ name_2 := 'ff_s2.dat'; }
assign(g, name_2); rewrite(g);

Writeln('Zapolnite file');
{ 5 3 2 1 4 10 19 6 8 7 }
for i := 1 to 10 do begin
readln(a); write(f, a);
end;
reset(f);

while not eof(f) do begin

pos := filepos(g);
seek(f, pos);

seek(g, filesize(g));
for i := 1 to 5 do begin
read(f, X); write(g, X);
end;

for i := pos + 4 downto pos + 1 do
for j := 0 to i - 1 do begin
seek(g, j); read(g, a, b);
if a > b then begin
seek(g, j); write(g, b, a);
end;
end;
seek(g, pos + 5);
end;

reset(g);
write('Otsortirovanbi pervbie 5 chisel :');
for i := 1 to 5 do begin
read(g,a); write(a:4);
end;
writeln;
write('Otsortirovanbi vtorbie 5 chisel :');
for i := 6 to 10 do begin
read(g, a); write(a:4);
end;

close(g);
close(f);
readkey;
end.
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 2.09.2025 5:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name