Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

Помогите с задачей.   Найти похожие ветки 

 
Stasxxx ©   (2008-01-22 12:58) [0]

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 IOResult<>0 then
begin
Messagedlg("&#206;&#248;&#232;&#225;&#234;&#224; &#228;&#238;&#241;&#242;&#239;&#224; &#234; &#244;&#224;&#233;&#235;&#243;",mterror,[mbok],0);
exit;
end;
While not (Eof(f1)) do
Begin
  If (Eof(f1)) Then
 begin
  messagedlg("&#212;&#224;&#233;&#235; &#239;&#243;&#241;&#242;",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:="&#215;&#232;&#241;&#235;&#224; &#226; &#244;&#224;&#233;&#235; &#231;&#224;&#239;&#232;&#241;&#224;&#237;&#251;..."+#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 13:01) [1]

А текст ошибки перевести на русский удалось?


 
Сергей М. ©   (2008-01-22 13:01) [2]


> в чем проблема


В попытке чтения за пределами конца файла


 
Ega23 ©   (2008-01-22 13:03) [3]

В весь код не вникал, ибо страшен.
Но подозрение вот на это:
assignfile(f2,"F:\chisla2.txt");
reset(f2);
readln(f2,s2);
k:=length(s2);
closefile(f2);


2 автор: учись пользоваться механизмом отладки.


 
Stasxxx ©   (2008-01-22 13:12) [4]

Так он ошибку не в этом месте выдает! А вот здесь:
read(f,buf2);


 
Сергей М. ©   (2008-01-22 13:16) [5]


> он ошибку не в этом месте выдает


Он еще и в другом месте выдаст, настоящие грабли еще только впереди)

Это что - код на зачет у препода или мазохизм ?


 
Stasxxx ©   (2008-01-22 13:18) [6]

Зря смеешся, я новичок, ты тоже не сразу научился!!!Я помощи прощу, а приколов!


 
Сергей М. ©   (2008-01-22 13:20) [7]

По какому букварю учишься, новичок ?


 
Stasxxx ©   (2008-01-22 13:22) [8]

Я на втором курсе, только разбираться стал в задачах, код сортировки с учебника списал, немного отредактировал, в консоле он работает, правда немного коряво. Авторов этой книги я незнаю.


 
Сергей М. ©   (2008-01-22 13:24) [9]


> с учебника списал


Тебя и спрашивают - с какого ?


 
Ega23 ©   (2008-01-22 13:25) [10]

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);


До сюда не досмотрел, но и не мудрено, что ошибка выскакивает.
Тебе не приходило в голову, что при втором чтении f ты уже вываливаешься за пределы файла?


 
Stasxxx ©   (2008-01-22 13:29) [11]

Я же говорю авторов я незнаю. Списал и отдал учебник. Надо вернуть позицию указателя на начало? т.е. еще рез seek прописать?


 
Сергей М. ©   (2008-01-22 13:33) [12]

Списал-то зачем ?
Почему бы самому "с нуля" не попытаться ?


 
Stasxxx ©   (2008-01-22 13:35) [13]

А почему она тогда в консоли работает? Ты мне можешь код исправить? У меня не получается ничего!Я еще слаб в программировании.


 
Ega23 ©   (2008-01-22 13:35) [14]


> Надо вернуть позицию указателя на начало? т.е. еще рез seek


Начни со следующего:

1. Постановка задачи. Что ты хочешь сделать?
2. Исходные данные. Какие входные-выходные параметры должны быть у твоей программы.
3. Выбор модели. Какие технологии, алгоритмы, средства разработки ты собираешься использовать.
4. Реализация задачи. Подробное описание реализации, блок-схемы и т.п.
5. Тестирование. Тестирование возможных "подводных камней".

Смею тебя уверить, если ты будешь использовать такой метод разработки, то 95% вопросов у тебя отпадут сами-собой.

А "списал и отдал учебник" - это просто несерьёзно.


 
Сергей М. ©   (2008-01-22 13:38) [15]


> Ты мне можешь код исправить?


Зачем ?

Чтобы ты не вникая сдал его преподу как свой собственный код ?


 
Плохиш ©   (2008-01-22 13:38) [16]


> Stasxxx ©   (22.01.08 13:29) [11]
> Я же говорю авторов я незнаю. Списал и отдал учебник.

И в учебнике не написано из чего состоят строки и чем integer от этих составляющих отличается?


 
Stasxxx ©   (2008-01-22 13:39) [17]

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


 
Плохиш ©   (2008-01-22 13:40) [18]


> Stasxxx ©   (22.01.08 13:39) [17]

В армии тоже жить можно...


 
Stasxxx ©   (2008-01-22 13:42) [19]


> Зачем ?
>
> Чтобы ты не вникая сдал его преподу как свой собственный
> код ?

У нас не такой препод, ему просто не даш, не понимая, я задачу в любом случае разберу, короче ребята я смотрю тут помощи не дождешься!


 
Плохиш ©   (2008-01-22 13:44) [20]


> Stasxxx ©   (22.01.08 13:42) [19]

Да, тут рыбу не подают, тут учат удочкой пользоваться...


 
Сергей М. ©   (2008-01-22 13:44) [21]


> тут помощи не дождешься


Тебе же перевели с буржуйского на русский текст сообщения об ошибке - это разве не помощь ?


 
Stasxxx ©   (2008-01-22 13:45) [22]


> В армии тоже жить можно...

А ты остроумный я смотрю!!!Ну и как ты там пожил в армии? Судя по многоточиям не очень хорошо!!!


 
Сергей М. ©   (2008-01-22 13:45) [23]


> задачу в любом случае разберу


Ты вот даже задачу не соизволил изложить в оригинальной ее постановке.
Не царское дело что ли ?)


 
Stasxxx ©   (2008-01-22 13:47) [24]


> Да, тут рыбу не подают, тут учат удочкой пользоваться...

Ты тут для находишься? Советы даешь или умничаешь?


 
Stasxxx ©   (2008-01-22 13:49) [25]


>
> Ты вот даже задачу не соизволил изложить в оригинальной
> ее постановке.
> Не царское дело что ли ?)
> <Цитата>

Вот задача! Дан файл А целых чисел. Получить новый файл С всех нечетных чисел файла А, которые должны быть упорядочены по невозрастанию.


 
Ega23 ©   (2008-01-22 13:49) [26]


> А ты остроумный я смотрю!!!Ну и как ты там пожил в армии?
>  Судя по многоточиям не очень хорошо!!!


Не знаю как Плохиш, а лично я - старший сержант запаса, спецназ ВВ МВД РФ.

И ничо. Живой.  :)


 
Stasxxx ©   (2008-01-22 13:50) [27]


> Тебе же перевели с буржуйского на русский текст сообщения
> об ошибке - это разве не помощь ?

Перевести то я и сам могу, я же не с таким вопрос обращался обращался!


 
Stasxxx ©   (2008-01-22 13:50) [28]


> Тебе же перевели с буржуйского на русский текст сообщения
> об ошибке - это разве не помощь ?

Перевести то я и сам могу, я же не с таким вопрос обращался обращался!


 
Ega23 ©   (2008-01-22 13:52) [29]


> Вот задача! Дан файл А целых чисел. Получить новый файл
> С всех нечетных чисел файла А, которые должны быть упорядочены
> по невозрастанию.


Это уже гораздо интереснее.
Но всё равно, до конца непонятно. Что значит файл целых чисел? Каков его формат? Каков должен быть формат второго файла? Каким образом преподавательн будет просмотривать результирующий файл?

И т.п.

З.Ы. Учиться надо в семестре, а не на сессии.


 
Stasxxx ©   (2008-01-22 13:53) [30]


> Не знаю как Плохиш, а лично я - старший сержант запаса,
> спецназ ВВ МВД РФ.
>
> И ничо. Живой.  :)

Ну мужик, че сказать! Интересное совмещение, старший сержант запаса,
спецназ ВВ МВД РФ и программист, или это твое хобби?


 
Плохиш ©   (2008-01-22 13:53) [31]


> Stasxxx ©   (22.01.08 13:49) [25]


> Вот задача! Дан файл А целых чисел. Получить новый файл
> С всех нечетных чисел файла А, которые должны быть упорядочены
> по невозрастанию.

Вот, просто интересно, по каким критериям в приведённом "коде" используются textfile и file of integer при доступе к одному и тому же физическому файлу?


 
Stasxxx ©   (2008-01-22 13:56) [32]


>
> Это уже гораздо интереснее.
> Но всё равно, до конца непонятно. Что значит файл целых
> чисел? Каков его формат? Каков должен быть формат второго
> файла? Каким образом преподавательн будет просмотривать
> результирующий файл?
>
> И т.п.
>
> З.Ы. Учиться надо в семестре, а не на сессии.

Самое смешное, что это нам дали на самостоятельное изучение, и дали срок, неделю. А во время этого идут другие экзамены, их учить надо.


 
Stasxxx ©   (2008-01-22 13:59) [33]


> Вот, просто интересно, по каким критериям в приведённом
> "коде" используются textfile и file of integer при доступе
> к одному и тому же физическому файлу?

Какая разница как у меня описан, textfile или file of integer в первой процедуре? Там задача работает правильно, она записывает нечетные числа как и должна, а=она не работает во второй процедуре! Когда нужно отсортировать эти числа!


 
Плохиш ©   (2008-01-22 14:06) [34]


> Какая разница как у меня описан, textfile или file of integer
> в первой процедуре? Там задача работает правильно, она записывает
> нечетные числа как и должна, а=она не работает во второй
> процедуре! Когда нужно отсортировать эти числа!

Рыдал... Здесь делать нечего. Нельзя объяснить что-то индивидуму, который не имеет ни малейшего представления об основах.


 
Stasxxx ©   (2008-01-22 14:06) [35]

Сайт называется для начинающих, и типа помощь им, а вот реальной помощи я не вижу тут.


 
Stasxxx ©   (2008-01-22 14:10) [36]


> > Какая разница как у меня описан, textfile или file of
> integer
> > в первой процедуре? Там задача работает правильно, она
> записывает
> > нечетные числа как и должна, а=она не работает во второй
>
> > процедуре! Когда нужно отсортировать эти числа!
>
> Рыдал... Здесь делать нечего. Нельзя объяснить что-то индивидуму,
>  который не имеет ни малейшего представления об основах.
>

А что ты объяснить пытался, ты мне скажи? Ты хоть что нибудь сказал, кроме твоих "очень остроумных" приколов? Сайт для новиков, вот и объяснил бы, а не умничал, или лучше бы код написал, я бы был бы благодарен!


 
Сергей М. ©   (2008-01-22 14:19) [37]


> Stasxxx ©   (22.01.08 13:49) [25]



> Дан файл А целых чисел


В задании не сказано, что файл текстовый.
А ты работаешь с ним как с текстовым.


> Получить новый файл С всех нечетных чисел файла А, которые
> должны быть упорядочены по невозрастанию


Опять же формат результирующего файла не упомянут.
Почему же он у тебя обязательно текстовый ?

И какой алгоритм сортировки ты применил ?
Если эти вопросы тебе задаст препод, ты не сможешь на них ответить, что равносильно "низачоту".


 
Stasxxx ©   (2008-01-22 14:19) [38]

В чем проблема исправить кодб если вы понимаете в чем ошибка? Если я езжу на машине с девяти лет, я и расскажу о ней практически все, а я тут только начал разбираться в делфи, естестевнно я мало чего знаю, в чем пробоема подсказать я не пойму, если вы давно заниматесь дельфи и хорошо знаете его почему тогда помочь не можите?


 
Dib@zol ©   (2008-01-22 14:22) [39]

Ты бы тут, ета, потише. Гдето рядом бродят злобные модеры :) Вощем, алгоритм я так понимаю должен быть таким:
1) Читаешь файл.
2) При каждом прочтении строки анализируешь чётность числа (напр сравнением остатка от деления на 2 с нулём).
3) Если нечётное, то пишешь число в ячейку массива.
4) Сортируешь массив (пузырьком, Шеллом, перестановкой - как больше нравится).
5) Пишешь сортированный массив в файл.

Вощем, вот. Пиши.
ЗЫ: Код из принципа не дам. В случае появления наездов типа "сам нихрена не знаешь" выложу екзешник и перестану тут писать.


 
Dynya   (2008-01-22 14:23) [40]

Ты знаешь, люди здесь ОЧЕНЬ умные в прямом смысле, знают много и имеют огромный опыт в этом (респект им за это!), но параллельно с этим все до беспредела зазнавшиеся и им лишь бы посмеяться над маленькими безопытными девочками и мальчиками, они же уже все взрослые и умные, и умом им поделиться жалко!!!



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.049 c
6-1180530369
Чародей
2007-05-30 17:06
2008.02.17
host email


15-1200327179
Ломброзо
2008-01-14 19:12
2008.02.17
HTML DOS Layout


15-1200625207
Slider007
2008-01-18 06:00
2008.02.17
С днем рождения ! 18 января 2008 пятница


2-1201007194
Riply
2008-01-22 16:06
2008.02.17
Работа с битовыми масками.


15-1200226303
SerJaNT
2008-01-13 15:11
2008.02.17
Перетаскивание блоков





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский