![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Domin9es |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
Здравствуйте! Помогите с задачкой. Файлы а и в, компоненты которых являются целыми числами, упорядочены по неубыванию. Получить в файле с все числа файлов а и в без повторений. Файл с должен быть упорядочен по неубыванию. Файлы а и в заполняются вручную.
|
Гость |
![]()
Сообщение
#2
|
Гость ![]() |
Тов. Domin9es.
Поиск, поиск и еще раз поиск! (Как завещал Великий Ленин и как учит Коммунистическая Партия!). Ну, стопудово уже решалось! И не раз. |
Ozzя |
![]()
Сообщение
#3
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Пред. сообщ. - моё. Почему-то форум выплюнул.
![]() |
Domin9es |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
Перерыл поиск. Ненашел.
![]() ![]() ![]() Все из одного файла в другой!!! |
Michael_Rybak |
![]()
Сообщение
#5
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
Что у тебя не получается с задачей?
|
Domin9es |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
Нашел сортировку, но с использованием готового файла. Помогите переделать на забивание значений вручную и удаление повторяющегося элемента
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 - |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Это тебя устраивает? То, что надо считать все в массив, потом отсортировать массив в памяти, и вернуть назад в файл? Обычно сортировка файла подразумевает нечто другое... Я бы порекомендовал посмотреть вот на этот вариант:
Сортировка последовательных файлов слиянием (для твоего случая придется чуть-чуть подкорректировать программу) |
Domin9es |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
Я не пойму что делает эта программа. Она переписывает три первых введенных числа каждой строки.
![]() Проверьте эту программу
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(c);
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(c);
{Vivod sodergimogo fayla C na ekran
(esli ne nuzhno - mozhno udalit)}
writeln('Itogovyj fayl:');
reset(c);
while not(eof(c)) do
begin
read(c,x);
write(x:5);
end;
readln;
end.
Удаляет неповторяющиеся элементы ![]() Сообщение отредактировано: Domin9es - |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата Удаляет неповторяющиеся элементы Например, какие? Что вводишь, покажи... |
Domin9es |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
1ый файл 1 1 2 56 8 0
2ой файл 4 8 3 19 6 0 Выдает 1 2 4 8 19 |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Задание перечитай: файлы должны быть упорядочены по неубыванию... Для упорядоченных файлов этот алгоритм работает...
|
Гость |
![]()
Сообщение
#12
|
Гость ![]() |
Я видимо недопонял задание, но неупорядочены по убыванию это про компоненты файлов?
|
Domin9es |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
Упорядочены по неубыванию- это как, по возрастанию?
![]() |
compiler |
![]()
Сообщение
#14
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Упорядочены по неубыванию- это как, по возрастанию? не совсем, у иебя могут идти одинаковые элементы подряд, то есть![]() a b c d ,при условии a<=b<=c<=d, например 0 1 1 2 -------------------- Спасибо!
Удачи! |
Domin9es |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
=>програма верна
![]() ![]() ![]() |
Domin9es |
![]()
Сообщение
#16
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Паша Репутация: ![]() ![]() ![]() |
Объясните алгоритм!!! Само формирование файла с непонятно
reset(a); reset(b); rewrite(c);
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(c);
Сообщение отредактировано: Domin9es - |
![]() ![]() |
![]() |
Текстовая версия | 15.04.2025 16:29 |