IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Алгоритм определения компонент двусвязности Графа
сообщение
Сообщение #1


Гость






Помогите, нужна программа по определению компонент двусвязности Графа.
Есть программа на СИ, может кто то поможет ее переделать?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Пжлста, вот, то, что есть на СИ:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace DvusvyaZannost
{ public partial class Form1 : Form
{ public Form1()
{ InitializeComponent();
}
public static int y = 10, x = 5, startind;
private void button1_Click(object sender, EventArgs e)
{ }
private void Form1_Load(object sender, EventArgs e)
{ }
private void menuItem2_Click(object sender, EventArgs e)
{
int[,] mas = new int[textBox1.Lines.Length, textBox1.Lines.Length];
int[] per = new int[textBox1.Lines.Length];
ArrayList al = new ArrayList(10);
for (int i = 0; i < textBox1.Lines.Length; i++)
{
string str = (textBox1.Lines[i]).Trim();
string[] st = str.Split(' ');
for (int j = 0; j < textBox1.Lines.Length; j++)
{
mas[i, j] = int.Parse(st[j].Trim());
if (mas[i, j] == 1) per[i]++;
} }
int kol = 0,min = 10;
for (int i = 0; i < per.Length; i++)
{
if (per[i] == 1) kol++;
}
int[,] masx = new int[textBox1.Lines.Length - kol, textBox1.Lines.Length - kol];
int coaf = 0;
for (int i = 0; i < textBox1.Lines.Length; i++)
{
if (per[i] == 1)
{
for (int j = 0; j < textBox1.Lines.Length; j++)
{
if (mas[i, j] == 1)
{
coaf = j;
for (int g = 0; g < textBox1.Lines.Length - kol; g++)
{
if (g == i) i++;
for (int h = 0; h < textBox1.Lines.Length - kol; h++)
{
if (j == h) j++;
masx[g, h] = mas[i, j];
}}}
pictureBox1.Refresh();
Graphics gr = pictureBox1.CreateGraphics();
SolidBrush brh=new SolidBrush(Color.Red);
Font fr=new Font("Times New Roman",15);
string s = "т. " + coaf.ToString() + " т. двусвязанности";
gr.DrawString(s, fr, brh, new Point(x, y));
y += 15;
s=i.ToString()+" "+coaf.ToString()+" компонента двусвяз";
gr.DrawString(s, fr, brh, new Point(x, y));
y += 15;
gr.Dispose();
}}
int indnext = 0, indput = 0;
int[] put = new int[textBox1.Lines.Length];
for (int i = 0; i < (textBox1.Lines.Length - kol); i++)
{
for (int j = 0; j < (textBox1.Lines.Length - kol); j++)
{
if (masx[i, j] == 1)
{
indnext = j;
break;
}}
put[indput] = indnext;
indput++;
for (int j = 0; j < (textBox1.Lines.Length - kol); j++)
{
if (masx[indnext, j] == 1 && per[j] > per[indnext] && indnext != j)
{
indnext = j;
}}
for (int j = 0; j < indput; j++)
{
if (put[j] == indnext)
{
goto End;
}}}
End: Graphics grt = pictureBox1.CreateGraphics();
SolidBrush br = new SolidBrush(Color.Red);
Font f = new Font("Times New Roman", 14);
string strt = "т. " + indnext.ToString() + " т. двусвязанности";
grt.DrawString(strt, f, br, new Point(x, y));
y += 15;
string strok="";
for (int i = 0; i < indnext; i++)
{
if (mas[indnext, i] == 1)
{
strok += " " + i.ToString();
}}
strok =indnext+strok+" компонента двусвяз.";
strok.TrimStart();
grt.DrawString(strok, f, br, new Point(x, y));
y += 15;
strok="";
for (int i = indnext; i < (textBox1.Lines.Length - kol); i++)
{
if (mas[indnext, i] == 1)
{
strok +=" "+i.ToString();
}}
strok = indnext.ToString() + strok+" компонента двусвяз.";
grt.DrawString(strok, f, br, new Point(x, y));
}
private void menuItem5_Click(object sender, EventArgs e)
{
AboutBox ab = new AboutBox();
ab.ShowDialog();
}
private void menuItem3_Click(object sender, EventArgs e)
{
this.Close();
}}}

 К началу страницы 
+ Ответить 

Сообщений в этой теме
KPEBETKA   Алгоритм определения компонент двусвязности Графа   4.12.2006 22:54
мисс_граффити   как задан граф хотя бы написала бы...   5.12.2006 0:11
КРЕВЕТК!!   как вам угодно   5.12.2006 2:08
спермотоксикоз   Пжлста, вот, то, что есть на СИ:using System; usin…   5.12.2006 3:42
Гость   Не поможете ?   5.12.2006 23:03
мисс_граффити   ты думаешь, это реально прочитать? вот такое нагро…   5.12.2006 23:30
Michael_Rybak   Если расскажешь алгоритм, могу сказать, правильно …   5.12.2006 23:37
virt   это c# program svyazniye_componenti; const nVert …   6.12.2006 2:39
Michael_Rybak   это c# Ну с# так c# :wub:   6.12.2006 22:54
Michael_Rybak   program svyazniye_componenti; это не перевод тво…   7.12.2006 1:02
Гость   virt, ну, если не трудно, объясни, пожалуйста, т.к…   6.12.2006 19:29
Гость   Пожалуйста, надо уже срочно...   6.12.2006 22:36
Гость   Ну подскажи немного... оч надо, пожалуйста   7.12.2006 0:46
Гость   Горю!!   7.12.2006 4:01
Michael_Rybak   В этом разделе решают вместе. Код, который ты кину…   7.12.2006 4:35


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 23:01
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name