Probleme mit einer Aufgabe

Status
Nicht offen für weitere Antworten.
M

Markus

Gast
Hi!

Wir ham in Info ne Aufgabe besprochen als ich nich da war, und insofern hab ich überhaupt keine idee wie das funktionieren soll... hier erst mal die aufgabe:

Die Leute vom Planeten Chator schreiben gern Schlechtes übereinander.Wer vielen über andere Schlechtes schreibt, gilt als besonders charmant. Aber natürlich nur, wenn die Kompromittierten nichts davon erfahren. Chatonen schreiben nur an Leute, die Ihnen sympathisch sind. Doch die können den Tratsch weitertragen, und eventuell genau an den Falschen. Ein Chatone muss also gut aufpassen, dass er keinen Charmefehler macht. Dieses Missgeschick passierte unlängst Ator, als er Btor Schlechtes über Dtor schrieb. Zu dumm: Dtor ist dem Ctor sympathisch, der wiederum Btor sympathisch ist. Und so landete der Tratsch bei Dtor, der über Ator verständlicherweise sehr verärgert war. Dies hätte Ator mit ein wenig Übersicht vermeiden können, denn schließlich wissen alle Chatonen voneinander, wer wem sympathisch ist.

Aufgabe
Programmiere einen Charminator, der einliest, welche Chatonen welchen anderen sympathisch sind. Er soll auf dieser Grundlage möglichst kompakt für alle Chatonen ausgeben, wem der Betreffende über wen Schlechtes schreiben kann, ohne einen Charmefehler zu riskieren

Bedenke dabei, dass eine Tratschnachricht von Chatone x
nach Chatone y weder x noch y betrifft und dass ein
Chatone eine Nachricht, die ursprünglich von ihm selbst
stammt und wieder bei ihm ankommt, nicht weiterleiten
wird – so dumm sind Chatonen nicht.


naja das einlesen kann man ja evtgl mit mehrdimensionalen arrays machen, das dürfte nicht das problem sein. jo aber dann?
 

meez

Top Contributor
Ich würd mal frech behaupten, dass man bei dieser Aufgabe sogar ein wenig an Dijkstra anlehnen kann... ;)
 
B

bygones

Gast
1. Boardregeln beachten.... d.h. denk dir einen besseren Titel für das ganze aus !! "Aufgabe!" ist schwachsinnig und wird bei Mods mit schwachen Nerven schnell gelöscht....

was ist dein Problem ? Verständnis oder suchst du einen der dir das schreibt ? Da wir Hausaufgaben hier nicht erledigen hoffe ich es ist das erstere ansonsten wird der Thread geschlossen....

PS: Wenn du nicht bei der Besprechung da warst, dann doch bestimmt Mitschüler / Mitstudenten bzw. die Lehrkraft... ich wette die kann dir das besser erklären als hier einer der genau so viel weiß wie du (oder war jemand von hier bei der Besprechung ?)
 

Bleiglanz

Gesperrter Benutzer
is doch n alter hut?

du musst ein textfile haben (format??) in dem die Beziehungen der Deppen beschrieben werden und dann eine Liste ausgeben, wer wem schreiben darf

Input
A ist B sympatisch
C ist D sympatisch
X ist A sympatisch
usw.

also als einfaches Textfile etwa
A,B
C,D
X,A

das liest du ein und berechnest

Output
X darf an A schlechtes über Z schreiben
..

Es gibts auch interessante Varianten, z.B. Paketverwaltung:
KDE braucht glibC
glibC braucht foo
mozilla braucht gtk
 

Heiko

Bekanntes Mitglied
@DBAC Wer weiß wie viele seiner Mitschüler hoffen, dass hier eine Lösung reingeschrieben wird.
 
M

Markus

Gast
Naja

Input
A ist B sympatisch
C ist D sympatisch
X ist A sympatisch
usw.

das reicht ja nicht, denn zb bei x muss dann ausgegeen werden, dass in erster linie a nichts geschrieben ist, und dann aber auch b, denn a könnte b davon erzählen, wenn du verstehst was ich meine??

nee is es nur das verständnis bzw. eine lösungsidee. Zum thema mitschüler, hätt ich j aich grad gemacht wenn nich grad kursfahrt wäre und ich wg krankheit hier geblieben bin...! nur dann kommt nächste woche die klausur und dann is es zu spät mit mitschüler fragen..!
 

Bleiglanz

Gesperrter Benutzer
das reicht ja nicht, denn zb bei x muss dann ausgegeen werden, dass in erster linie a nichts geschrieben ist, und dann aber auch b, denn a könnte b davon erzählen, wenn du verstehst was ich meine??
Tja, das ist ja gerade das Problem, das du lösen sollst

mal umformuliert, der sympatisch Zeugs heisst ja nix anderes, als dass X an Y etwas schreibt, also mach mas mit Pfeilen

B -> A
C -> B
D -> C
X -> Y
Y -> D

der Pleif soll immer heissen "schreibt an" wenn du das auswertest, dann ergeben sich "Ketten" (oder noch besser: Bäume)

D -> C -> B -> A

X -> Y -> C

D -> M -> L

usw.

jetzt gruppierst du nach den "Anfängen" (hier mal für D)

D -> C -> B -> A

D -> C -> V -> W

D -> M -> L

usw.

über wen darf D was schlechtes über A schicken:
---über C nicht, weil der es an B weitersagt und B es an A weitersagt
---an M schon, weil keine Kette von L nach A führt
usw. usw.

wird ganz schön kompliziert, würde mir aber Spass machen, das zu programmieren... :)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben