Informatik

1.137 Mitglieder, 5.040 Beiträge

Regulären Ausdruck zu DFA finden mittels Algorithmus (Kleene)?

Das ist eigentlich eine Informatikeraufgabe aber da bekomme ich keine Antwort, weshalb ich mit großer hoffnung hier meinen Versuch wage Ich soll in der Aufgabe (siehe Bild) mittels Algorithmus einen regulären Ausdruck für den Automaten finden, indem ich die Rekursion bis k=0 ausführe. Aufgabe Formel Meine Lösung Bis zum letzten Schritt hat alles gut geklappt, jedoch habe ich gemerkt, dass man von q2 zu q3 mit b gar nicht kommen kann, weshalb mein letztes Ergebnis ( r ^1 _[2, 3] = a | b ) falsch sein muss, aber ich finde meinen Fehler nicht.
Bild zum Beitrag

Regulären Ausdruck zu DFA finden mittels Algorithmus (Kleenes Theorem)?

Ich soll in der Aufgabe (siehe Bild) mittels Algorithmus einen regulären Ausdruck für den Automaten finden, indem ich die Rekursion bis k=0 ausführe. Bis zum letzten Schritt hat alles gut geklappt, jedoch habe ich gemerkt, dass man von q2 zu q3 mit b gar nicht kommen kann, weshalb mein letztes Ergebnis ( r ^1 _[2, 3] = a | b ) falsch sein muss, aber ich finde meinen Fehler nicht.
Bild zum Beitrag

Code in C, der gleiche Zahlen auflistet?

Das ist mein aktueller Code: #include <stdio.h> #include <stdlib.h> size_t copy_duplicates(int dst[], const int src[], size_t len) { size_t num_duplicates = 0; // Zählvariable für Duplikate for (size_t i = 0; i < len - 1; i++) { size_t count = 1; // Anzahl der Vorkommen des aktuellen Elements for (size_t j = i + 1; j < len; j++) { if (src[i] == src[j]) { count++; // Zähle die Anzahl der Vorkommen } } // Kopiere das aktuelle Element entsprechend seiner Anzahl der Vorkommen for (size_t k = 0; k < count - 1; k++) { dst[num_duplicates++] = src[i]; } } return num_duplicates; // Gib die Anzahl der Duplikate zurück } int main() { const int src[] = { 5, 2, 5, 7, -7, 3 }; int dst[50]; size_t num_duplicates = copy_duplicates(dst, src, sizeof(src) / sizeof(src[0])); printf("%zu\t", num_duplicates); printf("{"); for (size_t i = 0; i < num_duplicates; i++) { printf("%d%s", dst[i], (i < num_duplicates - 1) ? "," : ""); } printf("}\n"); return EXIT_SUCCESS; } Er gibt mir aber erst wenn ich mehr als zwei gleiche Zahlen eingebe, die richtige Ausgabe aus. Ich möchte, dass ich beispielsweise bei const int src[] = { 5, 2, 5, 7, -7, 3 }; in der Ausgabe 2 für die Anzahl gleicher Zahlen und dann { 5, 5 } für die Zahlen die mehrmals vorkommen. Bis jetzt kommt bei mir immer nur { 5 } in der Ausgabe heraus.

Rsa Multiplikatives Inverse?

Hallo! Ich habe ein Problem mit dem M.I. Man versucht ja eine Zahl zu finden für die gilt a*a^(-1) = 1 mod n Beispiel: ggT(8, 11) = 1 8*8^(-1) = 1 mod 11 ----> für 8^(-1) = 7 Das Beispiel ergibt für mich noch Sinn, aber ich verstehe nicht wie: 1 mod n = 1 Ergeben kann so wie es dir Formel beschreibt. Oder ist fiese schlichtweg falsch. Ich entschuldige mich schonmal für mein brüchigen Satzbau (Schreibe diese Frage auf dem Weg zum Bus) Ich würde mich über eine erläuternde Antwort freuen :)

Kardinalitäten Mitarbeiter zu Arbeitszeit?

Ich habe eine Informatikaufgabe in welcher ich ein ER Diagramm darstellen soll. Dabei sollen Kardinalitäten, Primärschlüssel etc aufgestellt werden. Die Ausgangssituation ist ein Bauunternehmen das die Arbeitszeit der einzelnen Mitarbeiter auf der Baustelle erfassen möchte. Die Kardinalität für die Verbindung zwischen Mitarbeiter und Baustelle habe ich bereits mit einer "n zu m" Beziehung beschrieben, da eine Baustelle beliebig viele Mitarbeiter haben kann, die Mitarbeiter aber ebenso verschiedenen Baustellen zugewiesen sind. Nun stellt sich jedoch die Frage welches Verhältnis die Entity Arbeitszeit zu der Entity Mitarbeiter hat. Ist es nun eine 1:1 Beziehung da jeder Mitarbeiter nur eine Arbeitszeit haben kann oder eine 1:n Beziehung. Danke schonmal. Im Anhang ist ein Bild des aktuellen Stands
Bild zum Beitrag

Binärer Suchalgorithmus - wo liegt der Fehler?

Hallo liebe Community, ich arbeite an einem Suchalgorithmus, der in einer sortierten Liste das Element finden soll, das einem gegebenen Wert am nächsten liegt. Trotz ausführlicher Tests mit über 100 Edge Cases, die alle fehlerfrei terminiert haben, liegt noch ein Fehler im Code. Bisher konnte ich jedoch keinen Fall finden, der nicht korrekt funktioniert. Kann jemand von euch vielleicht einen Blick darauf werfen und mir helfen, mögliche Schwachstellen oder Fehler zu identifizieren? Ich wäre für jeden Tipp oder Testfall, der mein Problem offenlegen könnte, sehr dankbar! Suche nach einem Wert 5 of 7 tests passing Die Methode int search(int[] sortedData, int value, Result result) soll mittels binärer Suche nach dem Index vom übergebenen Wert suchen. Dabei wird immer der mittlere Wert vom Suchbereich angesehen. Falls dies der gesuchte Wert ist, kann dessen Index zurück gegeben werden. Ansonsten verkleinert sich der Suchbereich auf die Indices, in denen der gesuchte Wert noch liegen kann. Falls der Suchbereich nur noch einen Wert enthält, soll ebenfalls abgebrochen werden. Wenn der Wert nicht im Array enthalten ist, soll stattdessen der Index vom nächst größeren oder nächst kleineren Wert zurückgegeben werden. Welcher der beiden Indices ist dabei egal, solange der zurückgegebene Index im Array liegt. Code: public static int search(int[] sortedData, int value, Result result) { int left = 0; int right = sortedData.length - 1; int nearestindex = -1; int currentSmallest = Integer.MAX_VALUE; while(left <= right) { int middle = left + (right - left) / 2; int difference = Math.abs(value - sortedData[middle]); if(difference < currentSmallest) { currentSmallest = difference; nearestindex = middle; } else if(difference == currentSmallest) { if(Math.abs(value - nearestindex) > Math.abs(value - middle)) { nearestindex = middle; } } result.addStep(middle); if(sortedData[middle] == value) { return middle; } if (sortedData[middle] < value) { left = middle + 1; } else { right = middle - 1; } } return nearestindex; }
Bild zum Beitrag

Python code für ein Ternary plot (Dreiecksdiagramm)?

Hallo ich kenne mich mit Python nicht sehr gut aus. Bin aber gerade dabei es zu lernen. ich bräuchte ein code für ein Dreiecksdiagramm. Es sollen zwei punkte mit jeweils drei Werten ganz einfach angegeben werden. soweit so gut, das habe ich hinbekommen. Am ende soll es so aussehen. die Pfeile machen mir aber große Schwierigkeiten. Codes für sämtliche ternary plots sind, einige öffentlich aufzufinden, aber leider nicht so wie ich das brauche. Ich bin noch anfänger und kennen wahrscheinlich auch noch nicht alle quellen. kann mir jemand helfen ? Vielleicht hat das ja hier auch schonmal jemand gemacht. vielen dank
Bild zum Beitrag