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

Вниз

Дан файл, состоящий из чисел   Найти похожие ветки 

 
Wildyt   (2008-05-31 21:53) [0]

Привет!!
Помогите мне сделать задание.  :(
----------------------------------------------------------------------------------
Задание:
Линейные динамические структуры...( работа со списками)
Дан файл, состоящий из чисел. Перевернуть его, прочитав в память..
----------------------------------------------------------------------------------
Вот что я сделал пока что - толко проблема в том  ,что числа из файла читаются 1 2 3 4 5 - тоесть как и записаны, а мне надо чтобы это числа вывелись в перевёрнутом виде. 5 4 3 2 1 .


type pList= ^TList;
 TList=record
 info :integer;
 next: pointer;
   end;

procedure TForm1.Button1Click(Sender: TObject); //  при нажатии на кнопку..
var i,a:integer;
k,otvet:string;

F:TextFile;
First,tmp: ^TList;
begin
First:= nil;
   AssignFile(F,"data.txt");
   Reset(F);
   While not EOF(F) do
       begin
         Read(F,a);
         new (tmp);
         tmp^.info:=a;
         tmp^.next:=First;

while  tmp<> nil do
    begin
     Memo1.Lines.Add(IntToStr(tmp^.info));
     tmp:=tmp^.next;
end;

 end;
   CloseFile(F);
 end;


читаю книги,не достаточно инфы, помогите пожалуйста!!!
Зарание спасибо!


 
{RASkov} ©   (2008-05-31 21:56) [1]

> [0] Wildyt   (31.05.08 21:53)

Как все сложно..... Перепиши этот код в "пять" строчек (убери лишнее) потом можно будет и поговорить....
В прочем, потом и сам сделаешь, если сможешь стыренный код упростить под свою задачу....


 
Германн ©   (2008-05-31 21:58) [2]

Ничего не меняя можно заменить Lines.Add на Lines.Insert(0,...


 
Wildyt   (2008-05-31 22:02) [3]

Стыренный код???????

Это всё что я взял с книги.
И сделал свою часть.

Легче сказать   - нежели помочь.


 
{RASkov} ©   (2008-05-31 22:04) [4]

> [3] Wildyt   (31.05.08 22:02)
> Стыренный код???????
>
> Это всё что я взял с книги.

:)
Стырил с книги :) Или нет? Не сам же придумал)
Ладно.... не кипятись) [2] изучай :)


 
Wildyt   (2008-05-31 22:06) [5]

Даааа книга тоже.. не всё даёт знать ((
Знаю что ,список  и читаться с конца ..
Что я не прваельно делаю??


 
Kolan ©   (2008-05-31 22:06) [6]

Имхо, это будет работать неверно.
1. Зачем ты выводишь при считывании каждой строки? По сути ты тут не используешь связный список. Ты тупо перекладываешь туду данные.
Твой код эквивалентен
var
 i,a:integer;
 k,otvet:string;
 F:TextFile;
 First,tmp: ^TList;
begin
 First:= nil;
 AssignFile(F,"E:\12345.txt");
 Reset(F);
 while not EOF(F) do
 begin
   Read(F,a);
   Memo1.Lines.Add(IntToStr(a));
end;
CloseFile(F);
end;

Как видишь списка нет, а тожесамое. Твоя задача &#151; прочесть из файла в список, а потом, уже заполненый список, пройти с зада на перёд и вывести содержимое в Memo.

Пробуй еще результаты сюда.


 
Wildyt   (2008-05-31 22:09) [7]

Значет нужно каждую цифру заганять..
а как это сделать?????
искал в инете литературу не нашёл... (


 
{RASkov} ©   (2008-05-31 22:12) [8]

procedure TForm1.Button1Click(Sender: TObject); //  при нажатии на кнопку..
var otvet: string;
   F: TextFile;
begin
 AssignFile(F,"data.txt");
 Reset(F);
 try
  While not EOF(F) do begin
   ReadLn(F, otvet);
   Memo1.Lines.Insert(0, otvet);
  end;
 finally
  CloseFile(F);
 end;
end;


 
Wildyt   (2008-05-31 22:16) [9]

мм..  сделал бы.. если бы не эти спискии (((
помогите написать..
знаю для Вас это ерунда..


 
{RASkov} ©   (2008-05-31 22:18) [10]

> [9] Wildyt   (31.05.08 22:16)

Тебе ответа в [2] недостаточно?


 
Wildyt   (2008-05-31 22:20) [11]

еййй..
это просто счатать с файла..
я делал сначало обык способом. вот.
begin
     AssignFile(F,"data.txt");
     Reset(F);
     ReadLn(F,k);
For i:=Length(k) downto 1 do
       begin
       otvet:=otvet+k[i];

            end;
            ShowMessage(otvet);
       end;

а через список я пытаюь не выходит ((((((


 
Wildyt   (2008-05-31 22:21) [12]

Знаю считать с файла.. это ерунда.
А занести в спис ок.. потом считать..
помогите написать мне ((пожалуйста.


 
{RASkov} ©   (2008-05-31 22:25) [13]

> [12] Wildyt   (31.05.08 22:21)

Ты сквозь слезы ответы не видешь?) Или и ты безнадежен? :)


 
nimble_   (2008-05-31 22:35) [14]

Удалено модератором


 
Anatoly Podgoretsky ©   (2008-05-31 22:40) [15]

У него вообще ерунда написана tmp^.next:=First;
А First всегда nil
И книги тоже не помогают.
Когда там в армию приглашают?


 
Anatoly Podgoretsky ©   (2008-05-31 22:41) [16]


> Ничего не меняя можно заменить Lines.Add на Lines.Insert(0,
> ...

Это ерунда, ему не в мемо нужен обратный порядок, а в списке.
Мемо только для контроля.


 
sniknik ©   (2008-05-31 22:44) [17]

> Тебе в [2] решение написали :)))
препод не зачтет, к чему там получаются динамические структуры?...

---------------
пособие начинающему хакеру.
берете ноутбук и фомку, ищете банкомат, "хакаете" фомкой банкомат и "смываетесь". не забудьте  ноутбук. вот тут нас спрашивают а зачем вообще ноутбук... ну а какой же вы тогда хакер без ноутбука?


 
Anatoly Podgoretsky ©   (2008-05-31 22:49) [18]

Автот твоя задачка решается просто, она из области подготовительных курсов, надо просто сеть и на бумажке выполнить задачу, потом алгоритм перенести в электронную форму. Вариат взять готовый код из Сети я не рассматриваю, ты же учиться пошел за знаниями, а не за бумажками, бумажку можно купить в переходе метро и если кто то тебе приведет этот элементарнейший код, то он окажет тебе медвежью услугу. Если же нужна бумажка, то вывеси объявление в ВУЗЕ с указанием вознаграждения. А то есть много умных людей, а денег у них нет.


 
sniknik ©   (2008-05-31 22:49) [19]

procedure TForm1.Button1Click(Sender: TObject); //  при нажатии на кнопку..
type
 PList = ^TList;
 TList = record
   info: integer;
   pred: pointer;
 end;

var
 F: TextFile;
 pred, point: PList;
 a: integer;
begin
 AssignFile(F, "data.txt");
 Reset(F);

 pred:= nil;
 while not Eof(F) do begin
   Read(F, a);
   new(point);
   point.info:= a;
   point.pred:= pred;
   pred:= point;
 end;

 CloseFile(F);

 while point <> nil do begin
   Memo1.Lines.Add(IntToStr(point.info));
   pred:= point;
   point:= point.pred;
   Dispose(pred);
 end;
end;


 
{RASkov} ©   (2008-05-31 22:52) [20]

> У него вообще ерунда написана tmp^.next:=First;

Хм.... Точно, а я даже и не смотрел код.... А ведь он говорил, что все работает, осталось только "перевернуть".... Заврался :))


 
sniknik ©   (2008-05-31 22:52) [21]

ошибка... нужно не только pred:= nil; в начале делать но и point:= nil; на случай пустого файла.


 
Wildyt   (2008-06-01 00:44) [22]

sniknik  СПАСИБО!


 
Германн ©   (2008-06-01 00:52) [23]


> {RASkov} ©   (31.05.08 22:52) [20]
>
> > У него вообще ерунда написана tmp^.next:=First;
>
> Хм.... Точно, а я даже и не смотрел код.... А ведь он говорил,
>  что все работает, осталось только "перевернуть".... Заврался
> :))
>

+1


 
Умища   (2008-06-01 01:06) [24]

Удалено модератором


 
Германн ©   (2008-06-01 01:31) [25]

Удалено модератором



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

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

Наверх




Память: 0.5 MB
Время: 0.041 c
2-1212173264
Pi:=3.14...
2008-05-30 22:47
2008.06.29
Реестр


2-1212463198
n00b xDD
2008-06-03 07:19
2008.06.29
DEC to HEX(а точнее как инт показать в виде 16ого числа)


15-1211164484
Slider007
2008-05-19 06:34
2008.06.29
С днем рождения ! 19 мая 2008 понедельник


15-1211024318
may be I am noob...
2008-05-17 15:38
2008.06.29
Вопрос по Apache (.htaccess)


15-1210451486
Германн
2008-05-11 00:31
2008.06.29
Любимая операционная система NASA





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский