Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с задачей. [D7, XP]


Страницы:   1 2 3 4

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]

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


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо