View Full Version : MI SERVE AIUTO per un esame universitario!!!
ciao a tutti, ho un problema se così si può chiamare, devo realizzare un programma in linux che mi simuli una rete e realizzi l'algoritmo di routing tra i vari nodi.il problema non è nel programma in se ma nel fatto che sta cacchio di prof vuole che alla fine il programma dia come output per ogni nodo della rete l'albero tra quel nodo e tutti gli altri IN FORMA GRAFICA!!! quindi un pallino per ogni nodo e il segmento che li collega(non so se mi sono spiegato o se qualcuno ha mai visto il disegno di un diagramma ad albero....).COSA posso usare per fare sta rappresentazione grafica,qualcuno mi consiglia qualche sito su cui cercare informazioni o qualche programma che possa fare una cosa del genere,tipo legge in inputo un file con il percorso dei nodi dell'albero e mi da la rappresentazione grafica.SCUSATE se rompo ma non so dove sbattere la testa.GRAZIE PER LA DISPONIBILITA'
Sotto che sistema deve girare ?
ciao,dunque lo devo far girare in laboratorio sotto macchine intel+LINUX ma devo ancora vedere quale versione è installata e con quali librerie (non vorrei fare sta roba a casa funzionante e poi vedere che sui pc del lab. non funzia....)
comunque grazie per l'interessamento :-)
:sofico: attendo fiducioso
Fai un quadrato per ogni nodo(+ facile del pallino)col le librerie grafiche
all'nterno dei nodi ci metti il nome.Il primo livello della rete lo disponi in verticale, e disponi i sotto-nodi in orizzontale collegando il sotto-nodo con il precedente con una linea orizzontale.
Per quanto riguarda la portabilita non ti so aiutare.
---------------N
N---------N--
---------------N
Sotto win puoi usare le funzioni textout,lineto(x,y) etc.
Con il Cbuilder si fa in pochi minuti...usando le api di windows in po di più...
Buona fortuna ;)
Originally posted by "oloong"
ma devo ancora vedere quale versione è installata e con quali librerie (non vorrei fare sta roba a casa funzionante e poi vedere che sui pc del lab. non funzia....)
Infatti il problema è quello... Ma lo devi fare in testo o in grafica ? Se lo devi fare in grafica guarda soprattutto se sono disponibili QT (KDE) e GTK (GNOME)
l'idea è quella della grafica, mi hanno dato da vedere un libro che usa gtk e glibc ma non sono sicuro di aver capito bene,è una cosa di tutte le distr. oppure mi devo assicurare che siano installate sul pc su cui dovrò far girare sto azz di programma?
ambienti integrati tipo kdevelop possono fare al mio caso o non centra niente?
Se c'è Gnome sul sistema sei sicuro di poter usare le GTK... Per le glibc non dovresti aver problema per qualsiasi Linux recente...
grazie allora mi concentro sulle glibc e cerco materiale su cui lavorare,in caso chiederò ancora il vostro consiglio.
grazie ancora :sofico:
Le glibc non sono librerie grafiche, ma è la GNU library C ;)
aborro java, però per sta cosa mi vien da consigliartelo....
Originally posted by "ri"
aborro java, però per sta cosa mi vien da consigliartelo....
Già. Incredibile ma è la stessa sensazione che ho avuto 6 post fa :D
Originally posted by "oloong"
ciao a tutti, ho un problema se così si può chiamare, devo realizzare un programma in linux che mi simuli una rete e realizzi l'algoritmo di routing tra i vari nodi.il problema non è nel programma in se ma nel fatto che sta cacchio di prof vuole che alla fine il programma dia come output per ogni nodo della rete l'albero tra quel nodo e tutti gli altri IN FORMA GRAFICA!!! quindi un pallino per ogni nodo e il segmento che li collega(non so se mi sono spiegato o se qualcuno ha mai visto il disegno di un diagramma ad albero....).COSA posso usare per fare sta rappresentazione grafica,qualcuno mi consiglia qualche sito su cui cercare informazioni o qualche programma che possa fare una cosa del genere,tipo legge in inputo un file con il percorso dei nodi dell'albero e mi da la rappresentazione grafica.SCUSATE se rompo ma non so dove sbattere la testa.GRAZIE PER LA DISPONIBILITA'
Che algoritmo di routing usate? Suppongo l'algoritmo di Dijkstra...
Non capisco la richiesta della tua prof. Che senso ha richiedere l'uso di una GUI se l'esame è tutt'altro... Poi dicono che l'università va male :rolleyes:
Per quanto riguarda GTK+ è un ottimo modo per ottenere na soluzione portabile. Il lato negativo è che per fare "grafica" devi usare GDK (un po come AWT per chi usa Java) che, a meno che tu non abbia diverso tempo (e so che non lo hai), è un po difficilotto da assimilare in un solo boccone. GDK e una libreria "wrapper" alle librerie native Xlib (le librerie di XFree) sotto Linux e a Win32 API sotto Windows. E' leggermente + a basso livello di GTK+ e quindi un pochino + ostica.
Il tutto deriva dal fatto che la tua prof oltre la teoria delle reti non ha mai programmato, e probabilmente non sa neanche cosa vuol dire imparare un toolkit grafico on the fly. Chissà da quale corso di laurea proviene :D :D
allora lei ha fatto l'un. a napoli poi è venuta al nord e si è sposata con uno dei prof. della mia facoltà, ha insegnato info1 per poi passare a reti di calcolatori che sto facendo adesso,e sì di programmazione non sa molto quindi....mi verrebbe da prenderla a calci!
eccezionale quando parla in inglese con l'accento del sud...per lei "chance" si pronuncia chànes (e ci ha detto di aver passato 10 anni in america, sì io dico in una università di sordo-muti :-)
uff vedrò sto week end di tirar fuori qualcosa
grazie a tutti
Originally posted by "ri"
aborro java, però per sta cosa mi vien da consigliartelo....
Idem ;)
Originally posted by "oloong"
allora lei ha fatto l'un. a napoli poi è venuta al nord e si è sposata con uno dei prof. della mia facoltà, ha insegnato info1 per poi passare a reti di calcolatori che sto facendo adesso,e sì di programmazione non sa molto quindi....mi verrebbe da prenderla a calci!
eccezionale quando parla in inglese con l'accento del sud...per lei "chance" si pronuncia chànes (e ci ha detto di aver passato 10 anni in america, sì io dico in una università di sordo-muti :-)
uff vedrò sto week end di tirar fuori qualcosa
grazie a tutti
Bhe quello non è accento del sud, non è accento fatto.
allora aggiornamento sulla situazione,ho trovato un libro che spiega come programmare X ma oltre alle librerie X11 mi trovo anche degli include a Xol/ che io non ho sul sistemae quindi mi da errore,il libro fa riferimento a "programmare X tramite Xt OPENLOOK edition" adesso mi pare che openlook sia una cosa di sun,quindi si riesce a scaricare da qualche parte tale libreria?
mi aveva no consigliato di usare tcl/tk e ho trovato alcuni tutorial MA quando li compilo mi da errore perchè non trova le librerie,cioè le librerie sono installate ma se guardo negli include ho #include <gtk/gtk.h>
però anche mettendo la cartella gtk nella root quando la devo richiamare devo metterci </gtk/gtk.h> MA dentro a gtk.h le altre librerie che lui richiama dentro di se sono sempre <gtk/......> e quindi di nuovo errore.quindi devo editare qualche file di configurazione del gcc,devo mettere qualche altro percorso in qualche oscuro file di linux insomma come posso specificare un path diverso senza dover editare a mano tutti gli nclude di tutte le librerie?????
comincio veramente a vederla brutta!!!!
aiutooooooooo
un'ultima cosa: ma non esiste una libreria (glib?) in c che possa inizializzarmi una finestra e disegnarci dentro cerchio/linee/del testo? non pretendo la luna mi sembra :-(
Originally posted by "oloong"
allora aggiornamento sulla situazione,ho trovato un libro che spiega come programmare X ma oltre alle librerie X11 mi trovo anche degli include a Xol/ che io non ho sul sistemae quindi mi da errore,il libro fa riferimento a "programmare X tramite Xt OPENLOOK edition" adesso mi pare che openlook sia una cosa di sun,quindi si riesce a scaricare da qualche parte tale libreria?
OpenLook è una specifica GUI di Sun in aggiunta ai semplici widget di XLib. Di questa specifica puoi trovare + o - diverse implementazioni.
Prova a vedere qui, in particolare leggi le F.A.Q.:
http://step.polymtl.ca/~coyote/xview_main.html
Originally posted by "oloong"
mi aveva no consigliato di usare tcl/tk e ho trovato alcuni tutorial MA quando li compilo mi da errore perchè non trova le librerie,cioè le librerie sono installate ma se guardo negli include ho #include <gtk/gtk.h>
però anche mettendo la cartella gtk nella root quando la devo richiamare devo metterci </gtk/gtk.h> MA dentro a gtk.h le altre librerie che lui richiama dentro di se sono sempre <gtk/......> e quindi di nuovo errore.quindi devo editare qualche file di configurazione del gcc,devo mettere qualche altro percorso in qualche oscuro file di linux insomma come posso specificare un path diverso senza dover editare a mano tutti gli nclude di tutte le librerie?????
comincio veramente a vederla brutta!!!!
aiutooooooooo
Questo perchè il file header gtk.h non c'entra nulla con le librerie che stai cercando tu. Inoltre tcl/tk non è una libreria. TCL è un linguaggio di programmazione interpretato, TK è il suo toolkit grafico.
Per compilare applicazioni gtk+, devi usare diversi flag al compilatore, in base alla versione che stai usando.
Se stai usando la versione 1.2, devi usare:
gcc `gtk-config --cflags --libs' -o nome_eseguibile nome_file.c
Per la versione 2.x invece, devi usare:
gcc `pkg-config --cflags --libs gtk+-2.0' -o nome_eseguibile nome_file.c
Comunque GTK+ non c'entra nulla con TCL/TK.
Originally posted by "oloong"
un'ultima cosa: ma non esiste una libreria (glib?) in c che possa inizializzarmi una finestra e disegnarci dentro cerchio/linee/del testo? non pretendo la luna mi sembra :-(
glib è una libreria di portabilità generale nonchè di routine per gestione di strutture dati non elementari.
Per fare quello che dici tu puoi usare le GTK+. Ci sono diverse funzioni di disegno, gdk_draw_line(), gdk_draw_arc(), ecc...
Per maggiori info:
www.gtk.org
dove trovi anche un tutorial. Byez.
grande, ti ringrazio molto per le risposte!!!!!!!!
adesso mi rimbocco le maniche e ritento :-)
Originally posted by "oloong"
grande, ti ringrazio molto per le risposte!!!!!!!!
adesso mi rimbocco le maniche e ritento :-)
Buona fortuna ;)
Originally posted by "oloong"
grande, ti ringrazio molto per le risposte!!!!!!!!
adesso mi rimbocco le maniche e ritento :-)
A proposito, visto che lo devi far girare in laboratorio (e quindi molto probabilmente avranno installato un qualcosa di non molto recente), ti conviene usare la versione 1.2 .
Posso sapere che algoritmo di routing usate? Mi interessa ...
algoritmo link state
simulo con il fork() tanti figli quanti sono i nodi,apro i socket per comunicare e scambio i pacchetti perchè ogni figlio si costruisca la matrice del grafo,applico dijkstra,do in pasto i risultati al programma che fa la rappresentazione grafica.
spero di aver risposto alla tua curiosità :)
Hai fatto contento mjordan... Guardando la firma mi sa che Dijkstra gli sta molto simapatico ;)
Originally posted by "cionci"
Hai fatto contento mjordan... Guardando la firma mi sa che Dijkstra gli sta molto simapatico ;)
Si si.
I miei idoli:
Edsger Wibe Dijkstra
Donald Ervine Knuth
Niklaus Wirth
:D :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.