Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2010, 10:58   #1
Марат05
Пользователь
 
Регистрация: 07.12.2010
Сообщений: 72
По умолчанию делфи текстфайлы и дв. масс.

Условие: Двумерный динамический массив заполняется из текстового файла, 4 строки должны сортироваться по значению 1-го столбца и результат вывести в новом текстовом файле!
Мой код:

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type myarray=array of integer;
var f1,f2:textfile;
Procedure Init;
begin
assignfile(f1,'file1.txt');
assignfile(f2,'file2.txt');
 While not eof(f1)do
Reset (f1);
ReWrite (f2);
end;
Procedure Swap (Var x,y:integer);
Var w:integer;
Begin
w:=x; x:=y; y:=w
end;
Procedure Sort (N:integer; Var A:MyArray;B:MyArray);
Var i,j:integer;
Count:Myarray;
 Begin
 FillChar(Count,SizeOf (Count),0);
 For i:=N DownTo 2 do
 For j:=i-1 DownTo 1 do
 if A [i]<A[j] Then Inc (Count [j])
 Else Inc (Count [i]);
 For i:=1 To N Do B [Count[i]+1]:=A[i]; //стр.249
 End;
Procedure vivod;
begin
writeln (f2);
closefile(f1);
closefile(f2);
end;
end.
Не на что не жалуется и во второй файл отсартированный массив не выводит!


_______________________
столько постов на форуме написали, а правила прочитать не удосужились

Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 22.12.2010 в 11:31.
Марат05 вне форума Ответить с цитированием
Старый 22.12.2010, 11:08   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

1. Компилятор не должен за вас думать, как решит вашу задачу. Я бы тоже не жаловался на его месте.
2. У вас странный компилятор. Я насчитал 4 begin и 5 end, а это значит, что компиляторчик то у вас кривой какой-то. Должен бы пожаловаться на кривой код.
3. Где основной код программы? Что толку с ваших функций...
mMAg вне форума Ответить с цитированием
Старый 22.12.2010, 11:43   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от mMag
У вас странный компилятор.
Вы будете смеяться, коллега, но так поступает компилятор Delphi!
я сам в шоке:
Код:
program Project1;

{$APPTYPE CONSOLE}

end.
с его точки зрения абсолютно правильный (компилируемый) код!
для котого он генерит нормальный исполняемый EXE-шник...
который, разумеется, ничего не делает



Цитата:
Сообщение от mMag
Где основной код программы? Что толку с ваших функций...
опять таки, Вы не поверите, но это ПОЛНЫЙ текст программы. Он комплируется и даже работает.

Другой вопрос - что он НИЧЕГО не делает. Ибо основого тела программы там просто НЕТ.
подразумевалось, что должно быть так:
Код:
....
procedure vivod;
begin
  writeln(f2);
  closefile(f1);
  closefile(f2);
end;

var N : integer;
   Mas1, Mas2 : MyArray;
begin
   Init; {<--- ВООБЩЕ НЕ ПОНЯТНО ЧТО ЭТО И ДЛЯ ЧЕГО!!!}

   {тут надо делать ввод N, заполнение массивов...}

   Sort(N, Mas1, Mas2);
   vivod;
end.
ну тут ещё надо код писать, писать, писать...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дин. масс и текстовые файлы! Марат05 Общие вопросы Delphi 0 21.12.2010 17:04
Делфи. bionicle Помощь студентам 3 09.04.2010 17:13
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
Делфи 7 Lemo Софт 1 30.12.2008 14:21