|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.04.2009, 23:15 | #1 |
Регистрация: 08.04.2009
Сообщений: 5
|
Кто-нибудь есть спец по графам, помогите сделать программу ....
Помогите её сделать, хотябы начало.Ато я даже ума не преложу как её делать
Неориентированный граф G=(x,y), где х- множество вершин графа, u- множество рёбер задан списком рёбер.По заданному списку рёбер определить степени всех вершин графа и вершинус максимальной степенью. Удалить из списка рёбер все рёбра, инцидентные найденой вершине и сформировать матрицу связности графа, полученного после удаления. |
09.04.2009, 23:32 | #2 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
Чтобы студенты могли приложить ум, им перед этим показываются решения аналогичных задач.
|
10.04.2009, 00:57 | #3 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 117
|
О графах:
http://ru.wikipedia.org/wiki/Граф_(математика) Чо тк. поисковик отвечать не нужно?)) Вот массивы в Паскале (пригодится) Объявляется так: Код:
Код:
1) недопускать совпадения индексов в одной строчке (типа [1,1]) 2) недопускать аналогичных строчек (типа [1,2] и [2,1]) - вот по этому количество ребер и надо делить на два! Все! Властвуй над этими структурами, решая задачу по человечему (в смысле как на паре в тетрадке решаешь)). А как конкретно задучу решить - извиняй, тут форум программистов а не матиматиков-любителей помочь халявщикам)).
Copyright © qpokyc (qpy[the dog]bk.ru), 2008-2009 г.
|
10.04.2009, 01:02 | #4 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 117
|
Сори, чота меня раскумарило:
Код:
Copyright © qpokyc (qpy[the dog]bk.ru), 2008-2009 г.
|
10.04.2009, 02:06 | #5 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
А при чём тут топка — можно нажать на "Правку" и исправить. Свой пост.
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
10.04.2009, 12:27 | #6 |
Регистрация: 08.04.2009
Сообщений: 5
|
Мне бы переделать вот эту прогу под свою задачу
uses crt,graph; Type T=^elem; elem=record nv:integer; adr:T; end; Var First:T; MI:array[1..10,1..50] of integer; MS:array[1..10,1..10] of byte; md:array[1..10] of byte; Vmax,n,d,sj,ku:byte; f:text; FILENAME:string[12]; sym:char; PROCEDURE VVOD; Var tu,pu:T; Begin n:=0; d:=0; Reset(f); New(tu); first:=tu; while not eof(f) do begin read(f,tu^.nV); if (tu^.nV<0) and (abs(tu^.nV)>n) then n:=abs(tu^.nV) else if tu^.nV>0 then inc(d); pu:=tu; new(tu); pu^.adr:=tu; end; pu^.adr:=nil; dispose(tu); End; PROCEDURE VIVOD(x:integer;key:byte); Var tu:T; x1,y:integer; st:string; Begin y:=40; x1:=x; tu:=First; While tu<>nil do begin str(tu^.nV,st); outtextxy(x1,y,st); x1:=x1+25; if (key=1)and (x1>310) or (key=2)and (x1>650) then begin x1:=x; y:=y+25; end; tu:=tu^.adr; end; str(n,st); outtextxy(x,y+15,'VERSHIN-'+st); str(d,st); outtextxy(x+100,y+15,'DUG-'+st); End; PROCEDURE DELETE; Var i,j,key:byte; tu,pu:T; begin ku:=0; tu:=first; while tu<>nil do begin if tu^.nv=-Vmax then begin tu:=tu^.adr; while (tu<>nil) and (tu^.nv>0) do begin key:=0; for i:=1 to ku do if tu^.nv=md[i] then key:=1; if key=0 then begin inc(ku); md[ku]:=tu^.nv; tu:=tu^.adr; end; end; break; end; tu:=tu^.adr; end; for i:=1 to ku do for j:=1 to n do begin ms[md[i],j]:=0; ms[j,md[i]]:=0; end; {delete} for i:=1 to ku do begin tu:=first; while tu<>nil do begin if tu^.nv=-md[i] then begin if tu=first then first:=tu^.adr else begin pu^.adr:=tu^.adr; tu:=pu; end; tu:=tu^.adr; while(tu<>nil) and (tu^.nv>0) do begin dec(d); if tu=first then first:=tu^.adr else begin pu^.adr:=tu^.adr; tu:=pu; end; end; end else if tu^.nv=md[i] then begin pu^.adr:=tu^.adr; tu:=pu; dec(d); end; pu:=tu; tu:=tu^.adr; end; end; end; PROCEDURE FORMI; var k,i,j:byte; tu:T; sym:string; xn,x,y:integer; begin for i:=1 to n do for j:=1 to d do MI[i,j]:=0; tu:=first; sj:=0; while tu<>nil do begin if tu^.nv<0 then i:=-tu^.nv else begin k:=tu^.nv; inc(sj); MI[i,sj]:=1; MI[k,sj]:=-1; end; tu:=tu^.adr; end; Y:=350; XN:=350; Outtextxy(390,335,'MATRICA INCIDENCIY'); for i:=1 to n do begin x:=xn; for j:=1 to d do begin str(MI[i,j],sym); outtextxy(x,y,sym); x:=x+25; end; y:=y+15; end; end; {FOR MI} BEGIN writeln('vvod filename'); readln(filename); assign(f,filename); initgr; rismenu; repeat sym:=readkey; case sym of '1': begin VVOD;VIVOD(20,1);FORMS(20);RISGRAF( 140); end; '2': begin STEPEN;DELETE;VIVOD(340,2);FORMS(34 0);RISGRAF(460);FORMI; end; '3':halt; end; until sym=#27; readkey; closegraph; end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите кто нибудь с 3 задачками | ByteMan | Помощь студентам | 2 | 07.06.2007 15:10 |