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

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

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

 
 Ответить  Открыть новую тему 
> Работа с файлами, чила 2х файлов получить в третем
Domin9es
сообщение 27.12.2007 11:17
Сообщение #1


Новичок
*

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

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


Здравствуйте! Помогите с задачкой. Файлы а и в, компоненты которых являются целыми числами, упорядочены по неубыванию. Получить в файле с все числа файлов а и в без повторений. Файл с должен быть упорядочен по неубыванию. Файлы а и в заполняются вручную.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 27.12.2007 12:02
Сообщение #2


Гость






Тов. Domin9es.
Поиск, поиск и еще раз поиск! (Как завещал Великий Ленин и как учит Коммунистическая Партия!).
Ну, стопудово уже решалось! И не раз.
 К началу страницы 
+ Ответить 
Ozzя
сообщение 27.12.2007 12:03
Сообщение #3


Гуру
*****

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

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


Пред. сообщ. - моё. Почему-то форум выплюнул. nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Domin9es
сообщение 27.12.2007 13:15
Сообщение #4


Новичок
*

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

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


Перерыл поиск. Ненашел. mad.gif mad.gif mad.gif

Все из одного файла в другой!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 27.12.2007 13:25
Сообщение #5


Michael_Rybak
*****

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

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


Что у тебя не получается с задачей?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Domin9es
сообщение 27.12.2007 13:41
Сообщение #6


Новичок
*

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

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


Нашел сортировку, но с использованием готового файла. Помогите переделать на забивание значений вручную и удаление повторяющегося элемента

Var
f1,f2,f3: text;
max,min,i,t,j: integer;
b: boolean;
arr: array [1..100] of integer;
begin
i:=0;
{$I-}
assign(f1,'C:\1.txt'); reset(f1);
assign(f2,'C:\2.txt'); reset(f2);
assign(f3,'C:\3.txt'); rewrite(f3);
while not eof(f1) do begin
readln(f1,arr[i]);
inc(i);
end;
while not eof(f2) do begin
readln(f2,arr[i]);
inc(i);
end;
repeat
b := True;
for j := 1 to i-1 do
if arr[j] > arr[j+1] then begin
t := arr[j];
arr[j] := arr[j+1];
arr[j+1] := t;
b := False
end
until b;
for j:=1 to i-1 do writeln(f3,arr[j]);
close(f3);
readln



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


Гость






Это тебя устраивает? То, что надо считать все в массив, потом отсортировать массив в памяти, и вернуть назад в файл? Обычно сортировка файла подразумевает нечто другое... Я бы порекомендовал посмотреть вот на этот вариант:

Сортировка последовательных файлов слиянием (для твоего случая придется чуть-чуть подкорректировать программу)
 К началу страницы 
+ Ответить 
Domin9es
сообщение 27.12.2007 14:18
Сообщение #8


Новичок
*

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

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


Я не пойму что делает эта программа. Она переписывает три первых введенных числа каждой строки. blink.gif

Проверьте эту программу

var a,b,c:file of integer;
x,y,t:integer;
begin
assign(a,'a.int');
assign(b,'b.int');
assign(c,'c.int');
{ Vvod znacheniy v faylu a,b -
(esli ne nuzhno - mozhno udalit)}
writeln('Vvedite chisla iz fayla A, v konce - 0');
rewrite(a);
readln(x);
while x<>0 do
begin
write(a,x);
readln(x);
end;
close(a);
writeln('Vvedite chisla iz fayla B, v konce - 0');
rewrite(b);
readln(x);
while x<>0 do
begin
write(b,x);
readln(x);
end;
close(b);
{Formirovanie fayla C};
reset(a); reset(b); rewrite©;
read(a,x); read(b,y);
if x<y then t:=x-1 else t:=y-1;
while not(eof(a)) and not(eof(b)) do
begin
while (x<=t) and not(eof(a)) do read(a,x);
while (y<=t) and not(eof(b)) do read(b,y);
if (x<y) and (x>t) then
begin
t:=x;
write(c,t);
end
else if (y>t) then
begin
t:=y;
write(c,t);
end;
end;
while not(eof(a)) do
begin
read(a,x);
if x>t then
begin
t:=x;
write(c,t);
end;
end;
close(a);
while not(eof(b)) do
begin
read(b,x);
if x>t then
begin
t:=x;
write(c,t);
end;
end;
close(b); close©;
{Vivod sodergimogo fayla C na ekran
(esli ne nuzhno - mozhno udalit)}
writeln('Itogovyj fayl:');
reset©;
while not(eof©) do
begin
read(c,x);
write(x:5);
end;
readln;
end.



Удаляет неповторяющиеся элементы sad.gif

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


Гость






Цитата
Удаляет неповторяющиеся элементы
Например, какие? Что вводишь, покажи...
 К началу страницы 
+ Ответить 
Domin9es
сообщение 27.12.2007 14:42
Сообщение #10


Новичок
*

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

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


1ый файл 1 1 2 56 8 0
2ой файл 4 8 3 19 6 0

Выдает 1 2 4 8 19
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 27.12.2007 15:03
Сообщение #11


Гость






Задание перечитай: файлы должны быть упорядочены по неубыванию... Для упорядоченных файлов этот алгоритм работает...
 К началу страницы 
+ Ответить 
Гость
сообщение 27.12.2007 15:09
Сообщение #12


Гость






Я видимо недопонял задание, но неупорядочены по убыванию это про компоненты файлов?
 К началу страницы 
+ Ответить 
Domin9es
сообщение 27.12.2007 15:28
Сообщение #13


Новичок
*

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

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


Упорядочены по неубыванию- это как, по возрастанию? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 27.12.2007 15:51
Сообщение #14


Человек
*****

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

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


Цитата(Domin9es @ 27.12.2007 14:28) *
Упорядочены по неубыванию- это как, по возрастанию? blink.gif
не совсем, у иебя могут идти одинаковые элементы подряд, то есть
a b c d ,при условии a<=b<=c<=d, например 0 1 1 2


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Domin9es
сообщение 27.12.2007 16:13
Сообщение #15


Новичок
*

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

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


=>програма верна smile.gif smile.gif smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Domin9es
сообщение 7.01.2008 20:00
Сообщение #16


Новичок
*

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

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


Объясните алгоритм!!! Само формирование файла с непонятно
 reset(a); reset(b); rewrite©;
read(a,x); read(b,y);
if x<y then t:=x-1 else t:=y-1;
while not(eof(a)) and not(eof(b)) do
begin
while (x<=t) and not(eof(a)) do read(a,x);
while (y<=t) and not(eof(b)) do read(b,y);
if (x<y) and (x>t) then
begin
t:=x;
write(c,t);
end
else if (y>t) then
begin
t:=y;
write(c,t);
end;
end;
while not(eof(a)) do
begin
read(a,x);
if x>t then
begin
t:=x;
write(c,t);
end;
end;
close(a);
while not(eof(b)) do
begin
read(b,x);
if x>t then
begin
t:=x;
write(c,t);
end;
end;
close(b); close©;



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

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

 



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