Главная страница
    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.043 c
15-1210786864
Palladin
2008-05-14 21:41
2008.06.29
PDF reader ы


2-1212564137
Trei
2008-06-04 11:22
2008.06.29
Ссылка


4-1192188544
arab
2007-10-12 15:29
2008.06.29
Арабский язык &amp; Delphi


11-1190587748
Jon
2007-09-24 02:49
2008.06.29
Database large object


15-1210924890
Petya
2008-05-16 12:01
2008.06.29
Подскажите, а можно в DBGrid вывести цифры





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