С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
2 / 2 / 0
Регистрация: 22.03.2010
Сообщений: 141
1

составить цепочку максимальной длины по правилу

14.06.2010, 20:58. Показов 3516. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задан набор неповторяющихся пар (Ai,Aj), Ai, Aj принадлежат
множеству А={A1, A2, ..., An}. Необходимо составить цепочку макси-
мальной длины по правилу
(Ai,Aj)+(Aj,Ak)=(Ai,Aj,Ak).
При образовании этой цепочки любая пара может быть использо-
вана не более одного раза.

В инете есть такой код к этой программе, но в нём массив curr не объявлен. Возможно есть и другие недоработки.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
const M=10; {максимально число элементов в A}
{будем считать, что A состоит из чисел от 1 до N} 
var c:array[1..M,1..M] of integer;
curstr, maxstr: array[0..M] of integer;
{в этих переменных хранятся текущая цепочка и}
{цепочка максимальной длины.}
{В нулевом элементе хранится длина цепочки}
N,E : integer; {N - число элементов в A}
i,j,k : integer; {E - число пар в наборе}
procedure find;
var l,j : integer;
begin
l:=curstr[curstr[0]]; {l = последний элемент цепочки}
for j:=1 to N do {просмотр строки l}
if C[l,j]=1
then begin
curstr[0]:=curstr[0]+1;
curstr[curstr[0]]:=j; {j -> в цепочку}
c[l,j]:=-1; {пара использована}
find;
c[l,j]:=1; {пару снова разрешено использовать}
curstr[0]:=curstr[0]-1;
end;
if curstr[0]>maxstr[0] {если нашли более}
then maxstr:=curstr {длинную строку}
end;
begin
readln(N); readln(E);
for i:=1 to N do
for j:=1 to N do
C[i,j]:=0;
for k:=1 to E do begin
write('очередная пара: ',i,j);
c[i,j]:=1
end;
for i:=1 to N do begin
curr[0]:=1; {поиск цепочки}
curr[1]:=i; {начинающейся элементом i}
find;
end;
for i:=1 to maxstr[0] do
write(maxstr[i]); {печать максимальной строки} end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2010, 20:58
Ответы с готовыми решениями:

Из слов заданного текста составить цепочку слов максимальной длины
задача: Из слов заданного текста составить цепочку слов максимальной длины, в которой каждое...

Из элементов множества составить цепочку максимальной длины по заданному правилу
помогите решить задачу. Задан набор неповторяющихся пар (Ai,Aj), Ai, Aj принадлежат множеству...

Рекурсия: составить цепочку максимальной длины по правилам игры "Города"
Задача: Задана последовательность названий городов. Составить цепочку максимальной длины по...

Из набора названий городов построить цепочку максимальной длины
Задача: Широко известна игра "Города". Называется какой-нибудь город, допустим, "Саратов"....

4
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
14.06.2010, 21:08 2
Цитата Сообщение от Prelest) Посмотреть сообщение
но в нём массив curr не объявлен.
замени curstr на curr или наоборот
1
2 / 2 / 0
Регистрация: 22.03.2010
Сообщений: 141
14.06.2010, 23:12  [ТС] 3
А как переменные надо вводить? Потому что работает всё равно криво.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
15.06.2010, 06:19 4
Prelest), Где взял код, там и спрашивай....
0
2 / 2 / 0
Регистрация: 22.03.2010
Сообщений: 141
15.06.2010, 17:26  [ТС] 5
Я не взял. Я взяла!
0
15.06.2010, 17:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2010, 17:26
Помогаю со студенческими работами здесь

В одномерном массиве найти цепочку максимальной длины из четных элементов
Нужно написать: целочисленный массив из n элементов, заполненный случайными числами от a до b,...

Отыскать в массиве “цепочку возрастания” максимальной длины, и распечатать адреса входящих в нее элементов
На вход подается двумерный числовой массив. Написать программу , которая отыщет в массиве “цепочку...

Найти в матрице "цепочку возрастания" максимальной длины
найти в двумерном массиве цепучку возратания(нужно отыскать в массиве “цепочку возрастания”...

Файл: Составить программу нахождения максимальной длины строки.
Создать текстовый файл, разбитый на непустые строки.Составить программу нахождения максимальной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru