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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2014, 15:49   #1
VladKB1
Форумчанин
 
Регистрация: 21.05.2014
Сообщений: 121
Радость Добрыня Микитич и Баба Яга (TurboPascal)

После утомительного сражения со Змеем Горынычем Добрыня случайным образом набрёл на
избушку Бабы Яги. Микитич показал Яге карту с маяками и спросил, как добраться коротким
путём домой. Яга же, узнав о смерти Горыныча(который так и не возвратил ей долг), решила
отомстить Добрыне и дала неправильную информацию о номерах маяков, по которым он
должен дойти до дома.
После ещё более утомительного хождения по лесу Микитич снова вернулся к избушке. о, на
этот раз, Баба Яга испугалась, и не обманула - дала номера маяков, такие, что если выписать
номера новых маяков, которые совпадают со старыми, то Добрыня дойдёт по этому пути
домой. Помогите Микитичу в этой проблеме.

Формат ввода:
n количество старых маяков (0 < n < 11)
a1 a2 …an номера старых маяков (0 < ai < 1000001)
m количество новых маяков (0 < m < 11)
b1 b2 …bm номера новых маяков (0< bi <100001)

Формат вывода: номера совпадающих маяков. Порядок вывода совпадает с порядком ввода
старых маяков.

mikitich.in
8
1 2 3 2 2 3 4 1
6
2 3 1 3 3 5
mikitich.out
1 2 3 3


Задача решена , но как бы глупо это не звучало я не могу убрать пробел в конце:

Код:
var
 n,m,i,j,x: longint;
 a,b: array [0..11] of longint;
begin
 assign(input,'mikitich.in');
 reset(input);
 assign(output,'mikitich.out');
 rewrite(output);

 read(n);
 for i:=1 to n do read(a[i]);
 read(m);
 for i:=1 to m do read(b[i]);

 for i:=1 to n do
 begin
  x:=a[i];
  for j:=1 to m do if b[j] = x then
  begin
   write(x,' ');
   b[j]:=0;
   break;
  end;
 end;
end.
VladKB1 вне форума Ответить с цитированием
Старый 12.06.2014, 15:59   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
n:=0;
for i:=1 to n do
 begin
  x:=a[i];
  for j:=1 to m do if b[j] = x then
  begin
   if n>0 then write(' '); 
   Inc(n);
   write(x);
...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.06.2014, 16:24   #3
VladKB1
Форумчанин
 
Регистрация: 21.05.2014
Сообщений: 121
Радость

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
n:=0;
for i:=1 to n do
 begin
  x:=a[i];
  for j:=1 to m do if b[j] = x then
  begin
   if n>0 then write(' '); 
   Inc(n);
   write(x);
...
Спасибо за помощь, но вы наверно сделали опечатку:

Код:
n:=0;
...
 if n>0 then write(' '); 
 Inc(n);
было бы глупо присваивать переменной 0 и делать цикл от 1 до 0, но я поменял на другую переменную и всё работает! Большое спасибо!
VladKB1 вне форума Ответить с цитированием
Старый 12.06.2014, 16:26   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Да, то не заметил. Ну и самому не плохо ошибку найти
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.06.2014, 16:47   #5
VladKB1
Форумчанин
 
Регистрация: 21.05.2014
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Да, то не заметил. Ну и самому не плохо ошибку найти
Согласен)) Ещё раз спасибо)
VladKB1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
turboPascal masterlomaster Помощь студентам 1 26.04.2011 19:45
TurboPascal masterlomaster Помощь студентам 0 26.04.2011 15:36
Аннаграммы (TurboPascal) beemoto Помощь студентам 9 24.12.2009 21:31
TurboPascal - help! Lexone Помощь студентам 5 29.03.2009 15:38