Форум программистов, компьютерный форум CyberForum.ru

Матрица смежности - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Формирование из элементов массива A нового массива B http://www.cyberforum.ru/cpp-beginners/thread196337.html
Собственно, это и есть весь вопрос. Предположим, задан некий массив A. Все элементы данного массива, удовлетворяющие некоторому свойству, должны быть объединены в новый массив B. Очень буду благодарен за приведение простого примера.
C++ Нерекурсивный двоичный поиск необходимо написать на С++ двоичный поиск в рекурсивном варианте. вот пример рекурсивной ф-ции двоичного поиска: int BinSerch(int x,int L, int R, int key){ if (R<L) return -1; int M=(L+R)/r; if (x = = key) return M; else if (x < key) return BinSearch(X, L, M-1, key); else return BinSearch(X, M+1, R, key); http://www.cyberforum.ru/cpp-beginners/thread196334.html
C++ Замена последовательности символов.
Помогите, пожалуйста с задачей: Заменить в исходном тексте, состоящем из n строк, одну последовательность символов на другую.Замена должна выполняться, начиная с заданной позиции (номер строки и номер символа в строке); каждая замена должна сопровождаться запросом на ее осуществление.Все необходимые данные определить в диалоговом режиме. Задача реализуется на Си.
Мат. выражение задано в символьной форме C++
тема закрыта)
C++ какой ето оператор? http://www.cyberforum.ru/cpp-beginners/thread196313.html
какой оператор используется для візова фунццій членов классу?
C++ Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти сумму модулей элементов, расположенных выше главной диагонали. это пипец %-) как это делать ? Скажите пожалуйста:(:( подробнее

Показать сообщение отдельно
nikalerka
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 77

Матрица смежности - C++

23.11.2010, 20:12. Просмотров 402. Ответов 0
Метки (Все метки)

есть такая программка. она позволяет построить списки смежности для данного ориентированного графа (вообщем-то матрицу смежности). N - количество вершин графа.

Вопрос: как переделать программу так, чтобы N задавалось пользователем?


#include <iostream.h>
#include <conio.h>
#define N 4
#define TRUE 1
#define FALSE 0

typedef struct zveno *svqz;
typedef struct zveno
{
int Key;
svqz Sled;
} Leader;

class Spisok {
private:
svqz beg[N+1];
svqz res;
void Poisk (svqz,int);
public:
Spisok ();
svqz GetPoisk () { return res; }
void MakeGraph ();
void PrintGraph ();
void AddGraph (int,int);
};

void main ()
{
clrscr();
Spisok A;
int x;
int y;

A.MakeGraph ();
cout<<"predstavlenie grafa spiskami smegnosti\n";
A.PrintGraph (); cout<<endl;
getch();
}

void Spisok::Poisk (svqz uksp,int ment)
{
svqz q;

res = NULL; q = uksp;
while ((q!=NULL)&&(res==NULL))
{ if ((*q).Key==ment) res = q; q = (*q).Sled; }
}

void Spisok::AddGraph (int x,int y)
{
svqz ukzv,uzel;

if (beg[x]!=NULL)
{
Poisk (beg[x],y);
if (GetPoisk()==NULL)
{
uzel = new (Leader);
(*uzel).Key = y; (*uzel).Sled = NULL; ukzv = beg[x];
while ((*ukzv).Sled!=NULL)
ukzv = (*ukzv).Sled;
(*ukzv).Sled = uzel; }
}
else { beg[x] = new (zveno);(*beg[x]).Key = y; (*beg[x]).Sled = NULL; }
}

void Spisok::MakeGraph ()
{
int x,y;

cout<<"vvodite nachalo dygi: "; cin>>x;
cout<<"vvodite konec dygi: "; cin>>y;
while (x!=0)
{
AddGraph (x,y);
cout<< "vvodite nachalo dygi: "; cin>>x;
cout<<"vvodite konec dygi: "; cin>>y;
}
}

void Spisok::PrintGraph ()
{
svqz ukzv;

for (int i=1;i<N+1;i++)
{ cout<<"..."<<i; ukzv = beg[i];

while (ukzv!=NULL) { cout<<(*ukzv).Key; ukzv = (*ukzv).Sled; }
cout<<endl;
}
}

Spisok::Spisok() { for (int i=0;i<N+1;i++) beg[i] = NULL; }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru