![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с задачей. [D7, XP]
Stasxxx © (2008-01-22 12:58:00)var
Form1: TForm1;
f1:textfile;
s1,s2,m:string;
k:longint;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i,n:integer;
f2:textfile;
begin
assignFile(f1,'F:\chisla1.txt');
assignfile(f2,'F:\chisla2.txt');
{$I-}
reset(f1);
rewrite(f2);
{$I+}
if IOResult0 then
begin
Messagedlg('Îøèáêà äîñòïà ê ôàéëó',mterror,[mbok],0);
exit;
end;
While not (Eof(f1)) do
Begin
If (Eof(f1)) Then
begin
messagedlg('Ôàéë ïóñò',mterror,[mbok],0);
exit;
end;
ReadLn(f1,s1);
begin
for i:=1 To Length(s1) do
begin
n:=strtoint(s1[i]);
if (n mod 2)0
then
begin
m:=inttostr(n);
write(f2,m);
end;
Label1.Caption:='×èñëà â ôàéë çàïèñàíû...'+#13;
end;
end;
end;
Closefile(f1);
Closefile(f2);
assignfile(f2,'F:\chisla2.txt');
reset(f2);
readln(f2,s2);
k:=length(s2);
closefile(f2);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
f:file of integer;
buf1,buf2,m:integer;
n:longint;
ok:boolean;
begin
assignfile(f,'F:\chisla2.txt');
reset(f);
repeat
ok:=true;
for n:=0 to k-2 do
begin
seek(f,n);
read(f,buf1);
read(f,buf2);
if buf1>buf2 then
begin
seek(f,0);
write(f,buf2);
write(f,buf1);
ok:=false;
end;
end;
until ok;
closefile(f);
end;
end.
Вот код задачи, компиляция проходит, когда начинаешь сортировать, выходит ощибка, read beyond end of file, подскажите в чем проблема!
Skyle (2008-01-22 14:49:00) [21]
> Stasxxx © (22.01.08 14:46) [56]
Какое слово в моем посте [55] непонятно?
Stasxxx (2008-01-22 14:46:00) [22]
> Продолжаем разговор.
>
> Кинь сюда пример содержимого файла F:\chisla1.txt
> <Цитата>
По идеи все должно выполнятся одной кнопкой, при нажатие на которую, записываются нечетные числа и сразу сортируются, я разделил и сделал двумя кнопками!
Skyle (2008-01-22 14:45:00) [23]
> Stasxxx © (22.01.08 14:43) [54]
А теперь сам, руками, без программ, напиши, что должно быть в файле F:\chisla2.txt при таком вот F:\chisla1.txt.
Stasxxx (2008-01-22 14:43:00) [24]
> Продолжаем разговор.
>
> Кинь сюда пример содержимого файла F:\chisla1.txt
356436463143 это все!
Skyle (2008-01-22 14:41:00) [25]
> Stasxxx © (22.01.08 14:38) [52]
Продолжаем разговор.
Кинь сюда пример содержимого файла F:\chisla1.txt
Stasxxx (2008-01-22 14:38:00) [26]
> А вот тут сказано иначе
>
>
> > Вот задача! Дан файл А целых чисел. Получить новый файл
>
> > С всех нечетных чисел файла А, которые должны быть упорядочены
>
> > по невозрастанию.
>
>
> Кому верить?
Верить условию, скорее всего не правильно написана программа!
Stasxxx (2008-01-22 14:35:00) [27]
>
> Почему-то нет ни желания, ни времени перебивать сюда учебники
> по основам делфи.
>
> > или лучше бы код написал
>
> Думается, что вокруг тебя есть достаточно однокурсников,
> готовых за определённую плату написать за тебя эту программу.
>
>
> > Сергей М. © (22.01.08 14:19) [37]
>
> Там всё намного хуже :-( В одном месте как текстовый, а
> в другом как file of integer.
ЕСли нет желание для чего ты здесь? Иди заниамйся своими делами, я еще раз говорю, я сюда за помощью, а не за твоими "смешными" приколами!
Skyle (2008-01-22 14:34:00) [28]
> Сергей М. © (22.01.08 14:32) [49]
А может пусть на [42] ответит сначала?
Сергей М. (2008-01-22 14:32:00) [29]
> Stasxxx © (22.01.08 14:28) [46]
Показывай 3 процедуры, написанные тобой:
1. Процедура считывания данных из файла A в массив.
2. Процедура сортировки массива по любому конкретно известному тебеалгоритму
3. Процедура записи нечетных элементов массива в файл С.
Stasxxx (2008-01-22 14:32:00) [30]
> Ты знаешь, люди здесь ОЧЕНЬ умные в прямом смысле, знают
> много и имеют огромный опыт в этом (респект им за это!),
> но параллельно с этим все до беспредела зазнавшиеся и им
> лишь бы посмеяться над маленькими безопытными девочками
> и мальчиками, они же уже все взрослые и умные, и умом им
> поделиться жалко!!!
Хоть один единомышленик нашелся! Я с тобой согласен, зазнались!
Сергей М. (2008-01-22 14:29:00) [31]
> через массив не получается, я пробывал, может что то не
> так делаю
Вот и показывай уже, как проб овал и что при этом не получается.
Stasxxx (2008-01-22 14:28:00) [32]
> Ты бы тут, ета, потише. Гдето рядом бродят злобные модеры
> :) Вощем, алгоритм я так понимаю должен быть таким:
> 1) Читаешь файл.
> 2) При каждом прочтении строки анализируешь чётность числа
> (напр сравнением остатка от деления на 2 с нулём).
> 3) Если нечётное, то пишешь число в ячейку массива.
> 4) Сортируешь массив (пузырьком, Шеллом, перестановкой -
> как больше нравится).
> 5) Пишешь сортированный массив в файл.
>
> Вощем, вот. Пиши.
> ЗЫ: Код из принципа не дам. В случае появления наездов типа
> "сам нихрена не знаешь" выложу екзешник и перестану тут
> писать.
Да я тут не для того чтоб наезжать, я за помошью обратился! Ты правильно мыслишь, только через массив не получается, я пробывал, может что то не так делаю.
Сергей М. (2008-01-22 14:28:00) [33]
> я не нашел алгоритма сортировки текстового файла
В задании не фигурирует "текстовый".
И сортировке в задании подвергается не текст, а числа.
Stasxxx (2008-01-22 14:25:00) [34]
> > Дан файл А целых чисел
>
>
> В задании не сказано, что файл текстовый.
> А ты работаешь с ним как с текстовым.
>
>
> > Получить новый файл С всех нечетных чисел файла А, которые
>
> > должны быть упорядочены по невозрастанию
>
>
> Опять же формат результирующего файла не упомянут.
> Почему же он у тебя обязательно текстовый ?
>
> И какой алгоритм сортировки ты применил ?
> Если эти вопросы тебе задаст препод, ты не сможешь на них
> ответить, что равносильно "низачоту".
Во первых, не "низачету" а не зачету, во вторых, учитель у меня проверял первую часть задачи, и здесь ошибкой не является, как я описал, и программа работает правльно, а про результирующий файл, разницы нет какой он будет, просто я не нашел алгоритма сортировки текстового файла, поэтому сделал через integer. Всего дано два файла, в который ты записываешь числа с клавиатуры и второй в который ты записываешь с помощью программы, и в нем же сортируешь!
Плохиш (2008-01-22 14:25:00) [35]
> Stasxxx © (22.01.08 14:10) [36]
> А что ты объяснить пытался, ты мне скажи? Ты хоть что нибудь
> сказал, кроме твоих "очень остроумных" приколов?
Подумай, почему родился пост [34]
> Сайт для новиков, вот и объяснил бы,
Почему-то нет ни желания, ни времени перебивать сюда учебники по основам делфи.
> или лучше бы код написал
Думается, что вокруг тебя есть достаточно однокурсников, готовых за определённую плату написать за тебя эту программу.
> Сергей М. © (22.01.08 14:19) [37]
Там всё намного хуже :-( В одном месте как текстовый, а в другом как file of integer.
Skyle (2008-01-22 14:24:00) [36]Начал тут потихоньку приводить форматирование этого в нормальный вид. И сразу вопрос:
> procedure TForm1.Button1Click(Sender: TObject);
......
ReadLn(f1,s1);
begin
for i:=1 To Length(s1) do
begin
n:=strtoint(s1[i]);
if (n mod 2)<>0
then
begin
m:=inttostr(n);
write(f2,m);
end;
судя по этому из первого файла читается строка, берётся каждая цифраиз неё и если эта цифранечётная, то пишется в файл результата.
А вот тут сказано иначе
> Вот задача! Дан файл А целых чисел. Получить новый файл
> С всех нечетных чиселфайла А, которые должны быть упорядочены
> по невозрастанию.
Кому верить?
Сергей М. (2008-01-22 14:24:00) [37]
> в чем пробоема подсказать я не пойму
В том что ты сдул чужой код и понимать алгоритм, в нем реализованный, не желаешь, но при этом желаешь получить нахаляву явно незаслуженный зачет)
Dynya (2008-01-22 14:23:00) [38]Ты знаешь, люди здесь ОЧЕНЬ умные в прямом смысле, знают много и имеют огромный опыт в этом (респект им за это!), но параллельно с этим все до беспредела зазнавшиеся и им лишь бы посмеяться над маленькими безопытными девочками и мальчиками, они же уже все взрослые и умные, и умом им поделиться жалко!!!
Dib@zol (2008-01-22 14:22:00) [39]Ты бы тут, ета, потише. Гдето рядом бродят злобные модеры :) Вощем, алгоритм я так понимаю должен быть таким:
1) Читаешь файл.
2) При каждом прочтении строки анализируешь чётность числа (напр сравнением остатка от деления на 2 с нулём).
3) Если нечётное, то пишешь число в ячейку массива.
4) Сортируешь массив (пузырьком, Шеллом, перестановкой - как больше нравится).
5) Пишешь сортированный массив в файл.
Вощем, вот. Пиши.
ЗЫ: Код из принципа не дам. В случае появления наездов типа "сам нихрена не знаешь" выложу екзешник и перестану тут писать.
Stasxxx (2008-01-22 14:19:00) [40]В чем проблема исправить кодб если вы понимаете в чем ошибка? Если я езжу на машине с девяти лет, я и расскажу о ней практически все, а я тут только начал разбираться в делфи, естестевнно я мало чего знаю, в чем пробоема подсказать я не пойму, если вы давно заниматесь дельфи и хорошо знаете его почему тогда помочь не можите?