Четверг, 09.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Задача !
ZimANДата: Вторник, 13.05.2008, 01:46 | Сообщение # 1
Знакомый
Группа: Пользователи
Сообщений: 24
Репутация: 2
Замечания: 0%
Статус: Offline
Дан список случайных целых чисел. Переверните список, т.е. расставьте все числа в обратном порядке.

помогите сделать эту задачку с помощью "Динамических структур данных" ... я начитался информации об Дин. стр. ,а ничего не понял... помогите ..

 
AlexanderДата: Вторник, 13.05.2008, 07:38 | Сообщение # 2
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Динамический массив подойдёт? smile .
Code
uses crt;
type
      ByteArray=Array[1..1] of Byte;
      LPByteArray=^ByteArray;
var
      Arr:LPByteArray;
      i,Size,temp:BYTE;
begin
      ClrScr;
      Write('Vvedite kolichestvo chisel: ');
      ReadLn(Size);
      GetMem(Arr,Size);
      Randomize;
      for i:=1 to Size do
         begin
            Arr^[i]:=Random(256);
            Write(Arr^[i]:5);
         end;
      WriteLn;
      for i:=1 to Size shr 1 do
         begin
            temp:=Arr^[i];
            Arr^[i]:=Arr^[Size-i+1];
            Arr^[Size-i+1]:=temp;
         end;
      for i:=1 to Size do
         Write(Arr^[i]:5);
      FreeMem(Arr,Size);
      ReadKey;
end.

Только на подпрограммы надо разбить. Если нужен именно список, то всё сложнее... Короче сам смотри подойдёт или нет, если что, то пиши.


Скажем дружно- нафиг нужно!

Сообщение отредактировал Alexander - Вторник, 13.05.2008, 20:00
 
ZimANДата: Вторник, 13.05.2008, 18:51 | Сообщение # 3
Знакомый
Группа: Пользователи
Сообщений: 24
Репутация: 2
Замечания: 0%
Статус: Offline
Что-то этот массив не правильно считает.

Вот что мне показало :

Vvedite kolichestvo chisel: 10

136 177 116 114 194 76 69 150 37 183
183 37 150 69 76 76 69 150 37 183

а должно было:
136 177 116 114 194 76 69 150 37 183
183 37 150 69 76 194 114 116 177 136

?

 
AlexanderДата: Вторник, 13.05.2008, 19:59 | Сообщение # 4
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
при обмене переменных опечатался, поправлено.

Скажем дружно- нафиг нужно!
 
ZimANДата: Вторник, 13.05.2008, 21:06 | Сообщение # 5
Знакомый
Группа: Пользователи
Сообщений: 24
Репутация: 2
Замечания: 0%
Статус: Offline
ОО.. спасибо, сейчас работает хорошо ... спрошу у препода, подойдет ли дин. массив..

Добавлено (13.05.2008, 14:06)
---------------------------------------------
Препод сказал, что надо список делать.. cry

 
AlexanderДата: Среда, 14.05.2008, 05:09 | Сообщение # 6
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Это муторнее.. Вот почитай про них, тут всё очень доходчиво:
Прикрепления: 3381400.rar (40.6 Kb)


Скажем дружно- нафиг нужно!
 
ZimANДата: Понедельник, 26.05.2008, 21:27 | Сообщение # 7
Знакомый
Группа: Пользователи
Сообщений: 24
Репутация: 2
Замечания: 0%
Статус: Offline
Извините Alexander, но в этих уроках я не понял какой класс надо брать для TListItem ?
Code
type  
   TListItem = class
     Data : Integer;
     Next : TListItem;
   end;
  

И никак не могу добиться того, чтобы хотя-бы вводился и выводился этот список... помогите... cry

 
AlexanderДата: Среда, 28.05.2008, 04:37 | Сообщение # 8
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Этот класс содержит инфу об одном элементе списка.
На паскале в простейшем случае вполне пойдёт такая запись:
Code
type   
    TListItem = record
      Data : Integer;
      Next : Pointer;
    end;

Если список односвязный, то должна быть переменная, которая содержит адрес первого элемента списка, при наличии связи в обоих направлениях переменная будет отвечать за текущий элемент. В односвязном циклическом тоже за текущий.
Где-то уже была тема про списки в которой я приводил примеры некоторых подпрограмм для списка.


Скажем дружно- нафиг нужно!
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;