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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2011, 18:04   #1
bagira07
Новичок
Джуниор
 
Регистрация: 06.11.2011
Сообщений: 3
По умолчанию поиск элемента

помогите пожалуйста=( Я вас умоляю. Вы-моя последняя надежда. Завтра лабораторную сдавать с программой,а я даже понять не могу,как ее написать(


Структура односвязного списка-кольцеобразный список;

Тип информационного поля-символьный тип

А само задание звучит следующим образом:
поиск 1-го элемента, принадлежащего заданному интервалу значений
bagira07 вне форума Ответить с цитированием
Старый 06.11.2011, 20:07   #2
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

В виде исключения написал.
Примерно так
Код:
type
  TTElement = ^TElement;
  TElement = Record
    Value:char;
    Next:TTElement;
  end;

Procedure AddElement(var hearder:TTElement; Value:char);
var t:TTElement;
Begin
  new(t);
  t^.Value := Value;
  if hearder = nil then
  Begin
    t^.Next := t;
  end else Begin
    t^.Next := hearder^.Next;
    hearder^.Next := t;
  end;
  hearder := t;
End;

function FindElement(var hearder:TTElement; min:Char; max:Char):boolean;
var t:TTElement;
    IsFound:boolean;
Begin
  if (hearder = nil) then
    FindElement := false
  else Begin
    t := hearder;
    hearder := hearder^.Next;
    while (IsFound = false) and (hearder <> t) do Begin
      if ((hearder^.Value>=min) and (hearder^.Value<=max)) then
        IsFound := true
      else
        hearder := hearder^.Next;
    end;
    if ((hearder^.Value>=min) and (hearder^.Value<=max)) then
      FindElement := true
    else
      FindElement := false;
  end;
End;

Var List:TTElement;
    s:string;
    minC:char;
    maxC:char;
    i:integer;
Begin
  Writeln('Введите строку символов');
  readln(s);
  Writeln('Введите начальный символ интервала');
  readln(minC);
  Writeln('Введите конечный символ интервала');
  readln(maxC);

  for i := 1 to Length(s) do
    AddElement(List,s[i]);

  if (FindElement(List,minC,maxC)) then
    writeln('Элемент найден ',List^.Value)
  else
    writeln('Элемент ненайден');
End.
Но лучше было бы, если бы вы написали свой код. Тогда проще было бы понять что именно вам нужно.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."
val_nnm вне форума Ответить с цитированием
Старый 06.11.2011, 20:38   #3
bagira07
Новичок
Джуниор
 
Регистрация: 06.11.2011
Сообщений: 3
По умолчанию

for i:=1 to k
writeln (T^. inf);
T:=T^.next;


if T^.inf >='3' OR T^.inf <='7'
begin
wrateln (T^.inf) ;
break;

часть того,что должно присутствовать....а вот полностью не могу написать(
bagira07 вне форума Ответить с цитированием
Старый 06.11.2011, 20:43   #4
bagira07
Новичок
Джуниор
 
Регистрация: 06.11.2011
Сообщений: 3
По умолчанию

спасибочки большое=)
bagira07 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск элемента в файле Максикок Помощь студентам 0 24.05.2011 23:16
поиск максимального элемента счастливая Помощь студентам 4 17.05.2010 21:31
Поиск Макс элемента kostya2 Общие вопросы C/C++ 5 26.04.2009 16:49
Поиск элемента ЭД4-0014 Помощь студентам 12 05.06.2008 21:47