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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2012, 19:59   #1
LimPIK49
Новичок
Джуниор
 
Регистрация: 09.03.2012
Сообщений: 1
По умолчанию Структуры данных

1.Дано скобочное выражение длинны N, содержащее скобки (), {} и []. Проверить, является ли данное скобочное выражение правильным. Скобочное выражение является правильным, если каждой открывающей скобке соответствует закрывающая скобка, с учетом вложенности скобок.
Ограничения: 1< N < 10000.
Формат ввода: вводится единственная строка - скобочное выражение.
Формат вывода: в единственной строке вывести "Yes", если выражение правильное, и "No" - если не правильное.

2.Дана шахматная доска размером 8*8 клеток. N клеток на этой доске занято фигурами. В клетке А1 находится фишка. Каждый ход фишка может ходить на одну клетку по вертикали или горизонтали. Фишка может ходить только по свободным клеткам. Найти кратчайший путь фишки из клетки А1 в клетку Н8. Гарантируется, что клетки А1 и Н8 не заняты фигурами.
Ограничения: 0< N<62.
Формат ввода: в первой строке вводится число N - количество фигур. В каждой из следующих N строк вводится пара чисел Xi, Yi - координаты i-ой фигуры.
Формат вывода: в первой строке вывести количество посещенных клеток в кратчайшем пути (включая начальную и конечную клетки). Далее вывести сами посещенные клетки по одной в строке.

3.Дана шахматная доска размером 8*8 клеток. N клеток на этой доске занято фигурами. В клетке А1 находится конь. Найти кратчайший путь коня из клетки А1 в клетку Н8. Гарантируется, что клетки А1 и Н8 не заняты фигурами.
Ограничения: 0< N<62.
Формат ввода: в первой строке вводится число N- количество фигур. В каждой из следующих N строк вводится пара чисел Xi, Yi - координаты i-ой фигуры.
Формат вывода: в первой строке вывести количество посещенных клеток в кратчайшем пути (включая начальную и конечную клетки). Далее вывести сами посещенные клетки по одной в строке.

4.По кругу выложено N конфет. Петя идет по кругу вдоль конфет, начиная с первой, и съедает каждую вторую конфету до тех пор, пока все конфеты не кончатся. Сорта конфет обозначаются числами от 1 до 1000.
Вывести номера сортов конфет в порядке поедания конфет Петей. Ограничения: 1< N < 10000.
Формат ввода: в первой строке вводится N- количество конфет. В следующей строке вводится N чисел через пробел - номера сортов конфет.
Формат вывода: в единственной строке вывести N чисел - номера сортов конфет.

5.Задано поле размера N на М клеток. Каждая клетка помечена числом 0 или 1., обозначающим величину штрафа, который нужно заплатить за проход по этой клетке. Изначально фишка находится в клетке (1,1). Фишка может ходить на одну клетку по вертикали или горизонтали. Найти минимальную величину штрафа, которую придется заплатить для прохождения из клетки (1,1) в клетку (N, М). Штраф за посещение начальной и конечной клетки тоже взимается.
Ограничения: 1< N, М < 500.
Формат ввода: в первой строке вводится пара чисел N и М - размеры поля. В следующих N строках вводится по М чисел через пробел - штрафы за прохождение соответствующих клеток.
Формат вывода: в единственной строке вывести минимальный суммарный штраф. Подсказка: для решения данной задачи необходимо придумать структуру данных, совмещающую свойства очереди и стека.

Нужна помощь с решением задач =)
Заранее спасибо!
LimPIK49 вне форума Ответить с цитированием
Старый 09.03.2012, 20:14   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

за соответствующее материальное вознаграждение готов реализовать задачи в коде.... пишите в личку или аську...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 09.03.2012, 21:06   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

или вопросы и ВАШ код или денюжки....
Poma][a вне форума Ответить с цитированием
Старый 15.03.2012, 23:59   #4
Arhangel7
Пользователь
 
Регистрация: 27.02.2010
Сообщений: 90
По умолчанию

как-то первая задача заинтересовала...

Код:
var
  S{скобочное выражение}:string;
  I{счетчик}:integer;
begin
  write('vvvedite skobochnoe vyrajenie => ');
  readln(S);
  if (length(S)mod 2 <> 0) or (length(S)=0) then
  begin
    writeln('false'); readln; exit;
  end;
  for I:=length(S) downto 1 do
    begin
      Delete(S,(AnsiPos('()',S)),2);
      Delete(S,(AnsiPos('[]',S)),2);
      Delete(S,(AnsiPos('{}',S)),2);
      if length(S)=0 then break;
    end;
  if length(S)=0 then writeln('true')
  else writeln('false');
  readln;
end.
вроде так
как-то так

Последний раз редактировалось Arhangel7; 16.03.2012 в 00:41.
Arhangel7 вне форума Ответить с цитированием
Старый 16.03.2012, 14:16   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Arhangel7
как-то первая задача заинтересовала...
остроумно!
единственное, я бы цикл крутил, пока позиция одной из пар была бы больше нуля
Код:
  while (Pos('()',S)>0) or (Pos('[]',S)>0) 
         or  (Pos('{}',S)>0) do 
    begin
      Delete(S,(Pos('()',S)),2);
      Delete(S,(Pos('[]',S)),2);
      Delete(S,(Pos('{}',S)),2);
    end;
но сам ход решения мне понравился!

p.s. да и ещё. выводить по условиям задачи надо YES или NO
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.03.2012, 18:18   #6
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Задача 1.

Код:
var i,a:integer;
............
a:=0;
for i:=1 to Length(s) do
   case s[j] of
        '(','[','{': a:=a+1;
        ')',']','}': a:=a-1;
    end; {case}
{Assign и Rewrite здесь}
if a:=0 then
Write(f,'Yes') {f - файловая переменная}
else Write(f,'No');
Close(f); {или Closefile}
Выржение
Цитата:
)-2(*6
и тому подобные будут считатся правильными.
hon вне форума Ответить с цитированием
Старый 17.03.2012, 00:07   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

hon, ну и зачем Вы написали это?!
Начиная с того, что написанный код в корне ошибочен!, и заканчивая тем, что это попытка решения вообще непонятно какой задачи!
Вы условие прочитайте пожалуйста!
Цитата:
скобочное выражение длинны N, содержащее скобки (), {} и [].
всё. никаких цифр, никаких математических операций. ничего. только скобки трёх видов. и всё.

Последний раз редактировалось Serge_Bliznykov; 17.03.2012 в 00:11.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры данных Shadow94 Общие вопросы C/C++ 8 22.04.2011 11:50
Структуры данных SlayerLiving C++ Builder 2 07.03.2011 20:26
Структуры данных LeNus'Ka Помощь студентам 4 23.11.2010 17:43
С++ Структуры данных DarkSwan Помощь студентам 0 27.10.2010 12:21
Структуры данных в С++ ArniLand Общие вопросы C/C++ 2 14.07.2010 18:34