Другие языки программирования и технологии

помогите написать программу на Си

Имеется n населенных пунктов,пронумерованных от 1 до n. Некоторые пары пунктов соединены дорогами. Определить,можно ли попасть по этим дорогам из L-того пункта в M-ый. Информация о дорогах задается в виде последовательности пар чисел i и j (i
Ну что-то вроде:
bool walk(int[][] map, int from, int to)
{
for(int i=0; i<map.Length; i++)
{
if(map[ i ][0]==from && map[ i ][1]==to) return true;
if(map[ i ][1]==from && map[ i ][0]==to) return true;
if(map[ i ][0]==from)
{
if(walk(map,map[ i ][1],to))
return true;
}
if(map[ i ][1]==from)
{
if(walk(map,map[ i ][0],to))
return true;
}
}
return false;
}
Это я на C# написал, но отличия не принципиальные. Замени там map.Length на длину своего массива, true и false на 1 и 0 соответственно и т. п.
ЗЫ форум корёжит исходник, но, вроде, с 4-й попытки вставился нормально. :)
ЗЗЫ если граф с циклами, то ф-я зациклится
Сергей Лапочкин
Сергей Лапочкин
3 831
Лучший ответ
для начала - как заданы соединения?
наверное, имеется двумерный массив отображающий карту дорог.
допустим, матрица заполнена нулями и единицами, где единица на пересечении i-ой строки и j-го столбца изображает дорогу между городами i и j.

а дальше.. . начиная с заданного города, рекурсивно обходите всех соседей, которые тоже имеют значение 1 (т. е. туда попасть можно)
если в конце концов набрели на клетку с заданными (конечными) индексами, то и порядок.
а если посетили всех возможных соседей, а нужного так и не нашли, то и нельзя туда попасть...
Serghei Serghei
Serghei Serghei
64 478
Пицца Московская да это маил дурацукий не до конца вопрос написал вот формулировка:
Имеется n населенных пунктов,пронумерованных от 1 до n. Некоторые пары пунктов соединены дорогами. Определить,можно ли попасть по этим дорогам из L-того пункта в M-ый. Информация о дорогах задается в виде последовательности пар чисел i и j (i<j),>[0]!=0)
{
if((A[0]==f)&&(A[1]==s)||(A[0]==s)&&(A[1]==f)) return 1;
if((A[0]==f)||(A[1]==f))
{
if(count>0) f=A[1];
else f=A[0];
int k=i;
for(int j=0;j
Пицца Московская Имеется n населенных пунктов,пронумерованных от 1 до n. Некоторые пары пунктов соединены дорогами. Определить,можно ли попасть по этим дорогам из L-того пункта в M-ый. Информация о дорогах задается в виде последовательности пар чисел i и j (i
сегодня все программеры отдыхают
в чем проблема? задача не сложная.
S-Evdokimov.80
S-Evdokimov.80
2 470
Пицца Московская да просто в этом семестре свалилось все наголову и думается плохо а еще и весна авитоминоз)))сможешь помоч?пожалуйста! у меня есть набросок функции но она не рабтает могу скинуть