3138/0040777000113000011500000000000010161513147011002 5ustar prippripeadm3138/Wildcard.html0100666000113000011500000001603410161513147013422 0ustar prippripeadm EPROG-LU - Aufgabe 3138 (Wildcards)
3138 Wildcard Wildcards
Kategorie:String
Klasse:mittel
Eingabe:siehe Spezifikation
Ausgabe:siehe Spezifikation
Abzugebende Files: Wildcard.txt, Wildcard.java, *.java , 10120.txt, 9987.txt

Kurzbeschreibung:

Ein String wird mit einem Suchbegriff verglichen.

Allgemeine Hinweise:

Aufgabenstellung:

Ihr Programm soll zwei Strings einlesen. Der zweite String enthält einen Suchbegriff. Im Suchbegriff haben die folgenden Zeichen eine spezielle Bedeutung:

? * [ ] ^ \

Diese Zeichen werden "Wildcards" genannt. Dabei steht ein Fragezeichen für ein beliebiges Zeichen, ein Stern für einen beliebigen Teilstring (kann auch leer sein) und in eckige Klammern eingeschlossene Zeichen für eines dieser Zeichen.
Wenn aber das erste Zeichen in der eckigen Klammer ein Hochzeichen ^ ist, dann ist jedes Zeichen, das nicht in der Klammer vorkommt, passend. (Siehe hierzu auch die Spezifikation des Erstrundenbeispiels, wo diese Themen erschöpfend erläutert werden).

Mit dem verkehrten Schrägstrich wird die Spezialbedeutung des nächsten Zeichens aufgehoben.

Ihr Programm soll feststellen, ob der Suchbegriff zum ersten String paßt.
Dazu müssen sie den Suchbegriff in Einzelteile zerlegen (jeweils zwischen 2 Sternen) und für jeden Teil prüfen, ob Sie eine Übereinstimmung im ersten String finden (wobei Sie für jeden Teil erst ab der Stelle suchen dürfen, wo Sie mit dem vorhergehenden Teil aufgehört haben). Wenn der Suchbegriff nicht mit einem Stern beginnt, muß der erste Teil mit dem Anfang des ersten Strings übereinstimmen; analoges gilt für das Ende.

Eingabedaten:

Lesen Sie zwei Strings ein. Der erste String darf maximal 30 Zeichen lang sein und unterliegt keinerlei syntaktischen Beschränkungen.

Der zweite String enthält den Suchbegriff. Die Sonderzeichen müssen syntaktisch korrekt gesetzt werden oder durch einen Backslash aufgehoben werden (Falsch wäre z.B. [a[b] , da die zweite öffnende Klammer an dieser Stelle nicht stehen darf. Statt dessen müßte [a\[b] eingegeben werden.)

Der zweite String darf maximal 30 Zeichen lang sein.

Ausgabedaten:

Bei korrekten Eingabedaten soll Ihr Programm "JA" ausgeben, falls der Vergleich positiv ist, ansonsten "NEIN". Geben Sie danach einen Zeilenvorschub aus.

Fehlerbehandlung:

Bei fehlerhaften Eingabedaten ist die Meldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, auszugeben.

Lesen Sie aber auf jeden Fall beide Strings ein, auch wenn schon der erste fehlerhaft ist.

Beispiele:

Eingabedaten
Erich E?*[gh]

Hallo H*x*

Ausgabedaten
JA

NEIN


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Wildcard < Wildcard.i1 > Wildcard.out1

Das erzeugte File Wildcard.out1 können Sie dann mit dem mitgelieferten Outputfile Wildcard.o1 vergleichen. 3138/Wildcard.i10100644000113000011500000000001610161513147012754 0ustar prippripeadmErich E?*[gh] 3138/Wildcard.o10100644000113000011500000000000310161513147012756 0ustar prippripeadmJA 3138/Wildcard.i20100644000113000011500000000001310161513147012752 0ustar prippripeadmHallo H*x* 3138/Wildcard.o20100644000113000011500000000000510161513147012761 0ustar prippripeadmNEIN 3138/9987/0040777000113000011500000000000010161513147011422 5ustar prippripeadm3138/9987/Compchar.java0100644000113000011500000000526210161513147014017 0ustar prippripeadmimport eprog.*; public class Compchar{ public static void main(String[] args){ try{ //Deklaration: char VglzeichenChar; int Vglzeichen; int i = 0; String VglZeichenString = new String(); String SuchbegriffString = new String(); char SuchbegriffChar; int SuchbegriffZeichen; String Ergebnis = new String(); Ergebnis = "NEIN"; int Backslash = 92; int KlammerAuf = 91; int Ausnahme = 94; //Eingabe einlesen VglZeichenString = EprogIO.readWord(); //Vergleichszeichen einlesen SuchbegriffString = EprogIO.readWord(); //Suchbegriff einlesen VglzeichenChar = VglZeichenString.charAt(0); //Das Vergleichszeichen String wird in ein einziges Zeichen umgewandelt Vglzeichen = (int)VglzeichenChar; // Und jetzt in eine Zahl SuchbegriffChar = SuchbegriffString.charAt(i); //Das selbe beim Suchbegriff String, das Zeichen an der Stelle i wird umgewandelt SuchbegriffZeichen = (int)SuchbegriffChar; //Vergleich //1.Sonderzeichen: Backslash in der Schleife while (SuchbegriffZeichen == Backslash){ i++; SuchbegriffChar = SuchbegriffString.charAt(i); SuchbegriffZeichen = (int)SuchbegriffChar; //zum nфchsten Zeichen springen } if (SuchbegriffZeichen == Vglzeichen){ Ergebnis = "JA"; } //2.Sonderzeichen: Fragezeichen ergibt JA int Fragezeichen; Fragezeichen = 63; if (SuchbegriffZeichen == Fragezeichen){ Ergebnis = "JA"; } //3.Sonderzeichen: KlammerAuf if (SuchbegriffZeichen == KlammerAuf){ i++; SuchbegriffChar = SuchbegriffString.charAt(i); SuchbegriffZeichen = (int)SuchbegriffChar; //zum nфchsten Zeichen springen if (SuchbegriffZeichen == Ausnahme){ int y; //Hilfsvariable mit kurzer Lebensdauer y = SuchbegriffString.indexOf(VglzeichenChar); //Suchbegriff wird mit indexOf nach dem Vergleichszeichen durchsucht, gibt -1 aus, falls nicht enthalten. if (y < 0){ //JA, wenn es nicht enthalten ist Ergebnis = "JA"; } }else{ int x; //Hilfsvariable mit kurzer Lebensdauer x = SuchbegriffString.indexOf(VglzeichenChar); //indexOf gibt bei Erfolg die Stelle des Zeichens aus, also eine Zahl >= 0 if (x >= 0){ //jetzt groesser null Ergebnis = "JA"; } } } EprogIO.println(Ergebnis); //Das Ergebnis wird ausgegeben }catch(Exception e){EprogIO.println("FALSCHE EINGABE");} } } //Fertig 3138/9987/Compchar.txt0100644000113000011500000000773010161513147013717 0ustar prippripeadmChristian Treppo "Compchar" ------------------------------------------------------------------------------- Aufgabenstellung laut Spezifikation: Das Programm soll zwei Strings einlesen, von denen der erste nur ein Zeichen lang sein soll. Dieses Zeichen sei Vergleichszeichen genannt. Der zweite String enthфlt einen Suchbegriff. In diesem Suchbegriff haben folgende Zeichen eine spezielle Bedeutung: \ [ ] ^ ? Der Suchbegriff kann eine der folgenden Mіglichkeiten sein: a) ein normales Zeichen (also keines der oben genannten Spezialzeichen) Beispiel: A b) ein Fragezeichen Beispiel: ? c) ein Backslash (verkehter Schrфgstrich) gefolgt von einem beliebigen Zeichen (also auch ein weiteres Spezialzeichen) Beispiel: \] d) eine Liste von zulфssigen Zeichen, die in Eckigen Klammern eingeschlossen sind Beispiel: [ABC] e) eine Liste von unzulфssigen Zeichen, die in Eckigen Klammern eingeschlossen sind, wobei nach der іffnenden Klammer ein Hochzeichen (^) kommt Beispiel: [^ABC] Fall a) ist einfach: Der Vergleich ist positiv, wenn beide Zeichen identisch sind. Im Fall b) ist der Vergleich immer positiv. Im Fall c) ist der Vergleich positiv, wenn das Vergleichszeichen mit dem zweiten Zeichen des Suchbegriffs ќbereinstimmt. Achtung: das zweite Zeichen des Suchbegriffs muп nicht unbedingt ein Sonderzeichen sein, auch normale Zeichen sind erlaubt! Im Fall d) ist der Vergleich positiv, wenn das Vergleichszeichen in der eckigen Klammer vorkommt. Achtung: Im Suchbegriff kіnnen mit dem Zeichen \ analog zum Fall b) Sonderzeichen aufgefќhrt werden, deren Spezialbedeutung dadurch aufgehoben wird. Die іffnenden und schlieпenden Klammern sind in den Vergleich nicht einzubeziehen. Im Fall e) ist der Vergleich positiv, wenn das Vergleichszeichen NICHT in der eckigen Klammer vorkommt. Achtung: Im Suchbegriff kіnnen mit dem Zeichen \ analog zum Fall b) Sonderzeichen aufgefќhrt werden, deren Spezialbedeutung dadurch aufgehoben wird. Die іffnenden und schlieпenden Klammern sowie das Hochzeichen sind in den Vergleich nicht einzubeziehen. ------------------------------------------------------------------------------- Lіsungsweg: Deklaration Zu erst kommt die Deklaration der einzelnen Variablen, vor allem der Vergleichszeichenstring ("VglzeichenString") und der Suchbegriffsstring. Weiters die Sonderzeichen als int-Wert. Die Variable Ergebnis ist vorlфufig "NEIN" gesetzt. ............................................................................... Eingabe Hier werden die zwei Strings mit Hilfe der Methode EprogIO.readWord() eingelesen und in int-Werte umgewandelt. ............................................................................... Vergleich Backslash: Jetzt beginnt der Vergleich der beiden Eingaben und die Erkennung von Sonderzeichen. Als erstes Sonderzeichen kommt der Backslash dran, weil dieser praktisch ќbersprungen wird. Ich habe eine while-Schleife eingebaut, weil auch mehrere Backslashs hintereinander gќltig sind und einfach mit jedem Backslash das Programm zum nфchsten eingegebenen Zeichen springt. Fragezeichen: Wenn das Suchbegriffszeichen ein Fragezeichen ist, wird die Ergebnis "JA" zugewiesen. KlammerAuf: Ist das Suchbegriffszeichen eine жffnende eckige Klammer, springt das Programm zum nфchsten Zeichen: -- entweder Ausnahme: : Kommt nun das Ausnahmezeichen, dann wird Ergebnis "NEIN", wenn das : gesuchte Zeichen bis zum Ende des Strings vorkommt. Gesucht wird mit Hilfe : der Methode indexOf(). Diese gibt die Stelle des gefundenen Zeichens als : int-Wert aus. Wird das gesucht Zeichen nicht gefunden, wird -1 ausgegeben. -- oder: Es wird ebenfalls mit indeOf() nach dem Zeichen gesucht, allerdings wird bei erfolgreicher Suche Ergebnis diesmal "JA" zugewiesen. ------------------------------------------------------------------------------- Ende des Programms. ------------------------------------------------------------------------------- 3138/9987/Compchar.html0100644000113000011500000001446310161513147014045 0ustar prippripeadm EPROG-LU - Aufgabe 1158 (Zeichen mit Suchbegriff vergleichen)

1158 Compchar Zeichen mit Suchbegriff vergleichen
Kategorie:String
Klasse:mittel
Eingabe:Strings
Ausgabe:String
Abzugebende Files: Compchar.txt, Compchar.java

Kurzbeschreibung:

Ein Zeichen wird mit einem Suchbegriff verglichen.

Allgemeine Hinweise:

Aufgabenstellung:

Ihr Programm soll zwei Strings einlesen, von denen der erste nur ein Zeichen lang sein soll. Dieses Zeichen sei Vergleichszeichen genannt. Der zweite String enthält einen Suchbegriff. In diesem Suchbegriff haben folgende Zeichen eine spezielle Bedeutung: \ [ ] ^ ?

Der Suchbegriff kann eine der folgenden Möglichkeiten sein:

a) ein normales Zeichen (also keines der oben genannten Spezialzeichen)
Beispiel: A

b) ein Fragezeichen
Beispiel: ?

c) ein Backslash (verkehter Schrägstrich) gefolgt von einem beliebigen Zeichen (also auch ein weiteres Spezialzeichen)
Beispiel: \]

d) eine Liste von zulässigen Zeichen, die in Eckigen Klammern eingeschlossen sind
Beispiel: [ABC]

e) eine Liste von unzulässigen Zeichen, die in Eckigen Klammern eingeschlossen sind, wobei nach der öffnenden Klammer ein Hochzeichen (^) kommt
Beispiel: [^ABC]

Fall a) ist einfach: Der Vergleich ist positiv, wenn beide Zeichen identisch sind.

Im Fall b) ist der Vergleich immer positiv.

Im Fall c) ist der Vergleich positiv, wenn das Vergleichszeichen mit dem zweiten Zeichen des Suchbegriffs übereinstimmt. Achtung: das zweite Zeichen des Suchbegriffs muß nicht unbedingt ein Sonderzeichen sein, auch normale Zeichen sind erlaubt!

Im Fall d) ist der Vergleich positiv, wenn das Vergleichszeichen in der eckigen Klammer vorkommt. Achtung: Im Suchbegriff können mit dem Zeichen \ analog zum Fall b) Sonderzeichen aufgeführt werden, deren Spezialbedeutung dadurch aufgehoben wird. Die öffnenden und schließenden Klammern sind in den Vergleich nicht einzubeziehen.

Im Fall e) ist der Vergleich positiv, wenn das Vergleichszeichen NICHT in der eckigen Klammer vorkommt. Achtung: Im Suchbegriff können mit dem Zeichen \ analog zum Fall b) Sonderzeichen aufgeführt werden, deren Spezialbedeutung dadurch aufgehoben wird. Die öffnenden und schließenden Klammern sowie das Hochzeichen sind in den Vergleich nicht einzubeziehen.

Eingabedaten:

Lesen Sie zwei Strings ein. Der erste String muß genau ein Zeichen lang sein.
Dieses Zeichen darf auch durchaus eines der Sonderzeichen sein.

Der zweite String enthält den Suchbegriff. Dieser muß in einer der oben genannten Formen vorliegen. Die Sonderzeichen müssen syntaktisch korrekt gesetzt werden oder durch einen Backslash aufgehoben werden (Falsch wäre z.B. [a[b] , da die zweite öffnende Klammer an dieser Stelle nicht stehen darf. Statt dessen müßte [a\[b] eingegeben werden.)

Der zweite String darf maximal 30 Zeichen lang sein.

Ausgabedaten:

Bei korrekten Eingabesätzen soll Ihr Programm "JA" ausgeben, falls der Vergleich positiv ist, ansonsten "NEIN". Geben Sie danach einen Zeilenvorschub aus.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Sind eingegebenen Daten inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
x ?

y [abc]

Ausgabedaten
JA

NEIN


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Compchar < Compchar.i1 > Compchar.out1

Das erzeugte File Compchar.out1 können Sie dann mit dem mitgelieferten Outputfile Compchar.o1 vergleichen. 3138/10120/0040777000113000011500000000000010161513147011445 5ustar prippripeadm3138/10120/Compchar.java0100644000113000011500000001641510161513147014044 0ustar prippripeadm//******************************************* //* Author : Isakovic HAris * //* Matr.Num: 0325697 * //* e-mail : e0325697@student.tuwien.ac.at * //******************************************* import eprog.*; public class Compchar { public static void main (String args[]) { String erste = EprogIO.readWord(); // Erste String wird gelesen. String zweite = EprogIO.readWord(); // Zweite String wird gelesen. int index; // Hilfige integer Zahl fur manche operationen ins programm. String specStr = "?[]^"; // String von speciele Zeichen. int start; // Hilfige integer Zahl fur manche operationen ins programm. int end; // Hilfige integer Zahl fur manche operationen ins programm. String subStr; // Hilfige String fur ein Such Bereich Representation. String fall1 = "?"; // Hilfige String fur fall mit "?". char ind = '['; // Char [ char ind2 = ']'; // Char ] char ind3 = '^'; // Char ^ char ch1 = erste.charAt(0); // Erste char von erste String. // Ess muss einzige sein und muss kein lehre Platz sein. if (Character.isWhitespace(ch1) || erste.length() > 1) // Here wird uberprufen, ob dass erste String gultig ist. { // Wenn diese bedingungen sind erfult, wird es "FALSCHE EINGABE" ausdrucken. EprogIO.println("FALSCHE EINGABE"); System.exit(0); // Progoramm wird sich sofort ausschalten. } // Here wird das Programm zweite String uberprufen. Dass Printzip ist gleich wie bei dem obigen fall. if (zweite.length() < 1 || zweite.length() > 30 || Character.isWhitespace(ch1)) { EprogIO.println("FALSCHE EINGABE"); System.exit(0); } // Uberprufung von zweite string geht weiter. char ch; char slash = '\\'; if ( zweite.startsWith("[") && !zweite.endsWith("]")) // Da wird Programm uberprufen ob die schlsende Klammer felt. { EprogIO.println("FALSCHE EINGABE"); System.exit(0); } index = 0; // Index wird auf null gestellt // Here uberpruft Programm ein special Fall , wenn dass Suchbereich ist zwischen klammern. if (zweite.startsWith("[") && zweite.endsWith("]")) { if (zweite.charAt(1) == '^') // "start" und "end" sind die start und die end von Suchbereichs { start = zweite.indexOf(ind) + 2 ; // Wenn negatives Fall und Suchebereich wird von des drittes Zeichens uberprufen. end = zweite.lastIndexOf(ind2) - 1; // Ende wird ein Zeichen vor des Letztes sein. } else { start = zweite.indexOf(ind) + 1 ; // da ist normall fall und Suchberiech wird von des zweites Zeichens uberprufen. end = zweite.lastIndexOf(ind2) - 1; // Gleich wie in letztes Fall. } subStr = zweite.substring(start,end); // Here wird Suchbereich gestellt , wie ein substring von zweite String. index = 0; // Uberprufung von zweites String um Richtigkeit. Im zwei Falls mit Klamern. // Da steht zwei for loops , in erste es geth durch String fon special Zeichen //In di zweite loop geht Programm durch Suchbereich String und prufen es. for (int i = 0; i < specStr.length() ; i++) { ch = specStr.charAt(i); for (int j = 0; j < subStr.length(); j++) { if ( (j == 0 && subStr.charAt(j) == ch) || (subStr.charAt(j) == ch && subStr.charAt(j-1) != slash)) { EprogIO.println("FALSCHE EINGABE"); System.exit(0); } } } } // Here wird das Programm vergleichen zwei Strings im fall wann sie nur ein Zeichen enthelen. if (zweite.length() == erste.length() && !Character.isWhitespace(zweite.charAt(0)) && !zweite.equals(fall1)) { if (erste.equals(zweite)) { EprogIO.println("JA"); System.exit(0); } else { EprogIO.println("NEIN"); System.exit(0); } } else { //Wenn das zweite String ist gleich mit ? , dann sind die alle Vergleichungen positiv. if (zweite.equals(fall1)) { EprogIO.println("JA"); System.exit(0); } } // Verglaichung des erstes String mit das Suchbereich des zweites String. if (zweite.startsWith("[") && zweite.endsWith("]")) { if(zweite.charAt(1) != ind3) // Normal Fall mit zwei Klamern und Suchebegrief. { start = zweite.indexOf(ind); end = zweite.lastIndexOf(ind2); subStr = zweite.substring(start,end); if (subStr.indexOf(erste,0) != -1) // Prufung ob das Substring enthalt erste String. { EprogIO.println("JA"); System.exit(0); } else { EprogIO.println("NEIN"); System.exit(0); } } else // Zweite Fall mit negativer Vergleich { start = zweite.indexOf(ind3); end = zweite.lastIndexOf(ind2); subStr = zweite.substring(start,end); if (subStr.indexOf(erste,0) != -1) { EprogIO.println("NEIN"); System.exit(0); } else { EprogIO.println("JA"); System.exit(0); } } } //Fall mit dem backslash wie ein Zeichen indikator , fur Vergleich der spezialer Zeichen. if ( zweite.startsWith("\\") && zweite.length() == 2) { if (erste.charAt(0) == zweite.charAt(1)) { EprogIO.println("JA"); System.exit(0); } else { EprogIO.println("NEIN"); System.exit(0); } } else { EprogIO.println("FALSHE EINGABE"); System.exit(0); } } } 3138/10120/Compchar.txt0100644000113000011500000000154310161513147013736 0ustar prippripeadm Author : Haris Isakovic Matr. Num : 0325697 e-mail : e0325697@student.tuwien.ac.at Dokumentation Programm : Compchar Aufgabe : Programm muss Characters vergleichen im funf verschidene Modes. Eingabdaten : Zwei Strings Ausgabdaten : String mit Positives oder Negatives Ausagen. Programm hat funf verschidene Modes . Es muss im jedes Mod ein Vergleich machen , und muss es ein Fechler melden wenn es ein gab. Das erste Teil des Programms ist fur Fechler Kennung , und die zweite ist fur Vergleich Operationen. First Programm geth durch jedes Fechler Fall , der Leuftprozes , wenn es kien Fechler gab, geth er weiter auf der Vergleich. Vergleich ist gleich durchgefurt. Fall nach dem Fall ist prufen. Wenn es ein Fall erkennt were , dann Program die Ausgabe wird ausdrucken.Nach des Ausdrucks, bei jedes Falls, wird es sofort auschalten. 3138/10120/Compchar.html0100644000113000011500000001446310161513147014070 0ustar prippripeadm EPROG-LU - Aufgabe 1158 (Zeichen mit Suchbegriff vergleichen)

1158 Compchar Zeichen mit Suchbegriff vergleichen
Kategorie:String
Klasse:mittel
Eingabe:Strings
Ausgabe:String
Abzugebende Files: Compchar.txt, Compchar.java

Kurzbeschreibung:

Ein Zeichen wird mit einem Suchbegriff verglichen.

Allgemeine Hinweise:

Aufgabenstellung:

Ihr Programm soll zwei Strings einlesen, von denen der erste nur ein Zeichen lang sein soll. Dieses Zeichen sei Vergleichszeichen genannt. Der zweite String enthält einen Suchbegriff. In diesem Suchbegriff haben folgende Zeichen eine spezielle Bedeutung: \ [ ] ^ ?

Der Suchbegriff kann eine der folgenden Möglichkeiten sein:

a) ein normales Zeichen (also keines der oben genannten Spezialzeichen)
Beispiel: A

b) ein Fragezeichen
Beispiel: ?

c) ein Backslash (verkehter Schrägstrich) gefolgt von einem beliebigen Zeichen (also auch ein weiteres Spezialzeichen)
Beispiel: \]

d) eine Liste von zulässigen Zeichen, die in Eckigen Klammern eingeschlossen sind
Beispiel: [ABC]

e) eine Liste von unzulässigen Zeichen, die in Eckigen Klammern eingeschlossen sind, wobei nach der öffnenden Klammer ein Hochzeichen (^) kommt
Beispiel: [^ABC]

Fall a) ist einfach: Der Vergleich ist positiv, wenn beide Zeichen identisch sind.

Im Fall b) ist der Vergleich immer positiv.

Im Fall c) ist der Vergleich positiv, wenn das Vergleichszeichen mit dem zweiten Zeichen des Suchbegriffs übereinstimmt. Achtung: das zweite Zeichen des Suchbegriffs muß nicht unbedingt ein Sonderzeichen sein, auch normale Zeichen sind erlaubt!

Im Fall d) ist der Vergleich positiv, wenn das Vergleichszeichen in der eckigen Klammer vorkommt. Achtung: Im Suchbegriff können mit dem Zeichen \ analog zum Fall b) Sonderzeichen aufgeführt werden, deren Spezialbedeutung dadurch aufgehoben wird. Die öffnenden und schließenden Klammern sind in den Vergleich nicht einzubeziehen.

Im Fall e) ist der Vergleich positiv, wenn das Vergleichszeichen NICHT in der eckigen Klammer vorkommt. Achtung: Im Suchbegriff können mit dem Zeichen \ analog zum Fall b) Sonderzeichen aufgeführt werden, deren Spezialbedeutung dadurch aufgehoben wird. Die öffnenden und schließenden Klammern sowie das Hochzeichen sind in den Vergleich nicht einzubeziehen.

Eingabedaten:

Lesen Sie zwei Strings ein. Der erste String muß genau ein Zeichen lang sein.
Dieses Zeichen darf auch durchaus eines der Sonderzeichen sein.

Der zweite String enthält den Suchbegriff. Dieser muß in einer der oben genannten Formen vorliegen. Die Sonderzeichen müssen syntaktisch korrekt gesetzt werden oder durch einen Backslash aufgehoben werden (Falsch wäre z.B. [a[b] , da die zweite öffnende Klammer an dieser Stelle nicht stehen darf. Statt dessen müßte [a\[b] eingegeben werden.)

Der zweite String darf maximal 30 Zeichen lang sein.

Ausgabedaten:

Bei korrekten Eingabesätzen soll Ihr Programm "JA" ausgeben, falls der Vergleich positiv ist, ansonsten "NEIN". Geben Sie danach einen Zeilenvorschub aus.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Sind eingegebenen Daten inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
x ?

y [abc]

Ausgabedaten
JA

NEIN


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Compchar < Compchar.i1 > Compchar.out1

Das erzeugte File Compchar.out1 können Sie dann mit dem mitgelieferten Outputfile Compchar.o1 vergleichen. 3171/0040777000113000011500000000000010161513150010771 5ustar prippripeadm3171/Vektoren.html0100666000113000011500000001675210161513150013464 0ustar prippripeadm EPROG-LU - Aufgabe 3171 (Rechnen mit Vektoren)

3171 Vektoren Rechnen mit Vektoren
Kategorie:Geometrie
Klasse:schwer
Eingabe:siehe Spezifikation
Ausgabe:siehe Spezifikation
Abzugebende Files: Vektoren.txt, Vektoren.java, *.java , 10180.txt, 10551.txt

Kurzbeschreibung:

Ein String, der eine Rechnung (für Mathematiker: einen Term) mit Vektoren enthält, soll eingelesen und das Ergebnis der Berechnung ermittelt werden.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie einen String ein, der aus folgenden Zeichen bestehen darf: Ziffern, Operatoren "+-*", Klammern "()[]", weiters die Zeichen ",.". Dieser enthält einen mathematischen Ausdruck. Führen Sie die Berechnung durch und geben Sie das Ergebnis aus.

Die Vektoren sind aus R^3; Details entnehmen Sie dem Kapitel "EINGABEDATEN";

Bei der Berechnung sind selbstverständlich Klammerregeln und die Rangfolge der Operatoren (Punktrechnung vor Strichrechnung) zu beachten.

Hier nun die Rechenregeln für Vektoren:

Sei

Für die Berechnung des vektoriellen Produktes dient folgende Formel:

TIP: Die Auswertung derartiger Ausdrücke ist rekursiv am einfachsten zu programmieren.

Eingabedaten:

Lesen Sie den String ein, der die Rechnung enthält. Dieser darf nur aus den oben genannten Zeichen bestehen und muß einen gültigen mathematischen Term enthalten (z.B. keine zwei Operatoren hintereinander, Klammersetzung).

Die Vektoren werden in der Form [x,y,z] eingegeben, wobei die einzelnen Werte auch Nachkommastellen und ein Vorzeichen haben können. Zulässige Eingaben sind z.B. [1,2,3] [2,-3,4] [-4.5,2,1] [1,12.333,5].
Man beachte: -[1,2,3]= [-1.000,-2.000,-3.000]

Es können auch Zahlen mit Nachkommateil (durch "." getrennt) eingegeben werden.

Die eingelesenen Zahlenwerte müssen im Bereich [-100,100] (inkl.) liegen. Ein Skalar muß in runden Klammern "()" stehen.

Von negativen Vorzeichen abgesehen, dürfen maximal 4 Operatoren vorkommen. Es darf nur eine Klammerebene auftreten (die Klammern bei einem Skalar zählen hierbei nicht).

Wenn eine Rechenoperation fќr die angegebenen Daten nicht definiert ist, sind die Eingabedaten ungќltig (z.B. [1.000, 1.000, 1.000] + Skalar oder Skalar + Skalar ist hier undefiniert).

Ausgabedaten:

Bei korrekten Eingabedaten soll Ihr Programm das Resultat der Berechnung in der Form "[ x , y , z ]" ausgeben, wobei folgendes zu beachten ist:

x, y und z sind als Float-Zahlen mit 3 Nachkommastellen auszugeben.

Trennen Sie die Zahlen, den symbolischen Operator "," sowie die Klammern "[]" durch Leerzeichen und geben Sie am Ende einen Zeilenvorschub aus.

Fehlerbehandlung:

Wenn der String nicht den Bedingungen genügt, so soll Ihr Programm die Fehlermeldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
(2.3)*[3.2,-12,5]+[0.64,7.6,-1.5]

Ausgabedaten
[ 8.000 , -20.000 , 10.000 ]


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Vektoren < Vektoren.i1 > Vektoren.out1

Das erzeugte File Vektoren.out1 können Sie dann mit dem mitgelieferten Outputfile Vektoren.o1 vergleichen. 3171/Vektoren.i10100644000113000011500000000004210161513150013006 0ustar prippripeadm(2.3)*[3.2,-12,5]+[0.64,7.6,-1.5] 3171/Vektoren.o10100644000113000011500000000003510161513150013016 0ustar prippripeadm[ 8.000 , -20.000 , 10.000 ] 3171/317101.gif0100644000113000011500000000362610161513150012214 0ustar prippripeadmGIF89afїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,fўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГІЭ›8sъмЩГЇЯŸ@ƒ JДЈбЃH“*]Ъ€EЇEЁ>eJЁдŠWfХZЕk[)‚еkYЏDЯNTk“эZДJнJ”“ю\ИGэFдЫ’я^МQAњU9јaaР/ЧЋ˜БоУ%t,ђ_ФZJўz7чйЭ…!c&ЌАё[ЯЅЁ=%[ЦbuОомЙѕNЙД!Вм0їeлЈ›ЎЦ‰[єnр!н:ѕн›xгЏ#џјz`nхЮK[п {Ёєщеўf§ІјЩWЅVпVГdЫ•Ÿ›wЏОћdяьлOХ??уњќ3'Ÿ~§`]•Gр~к(“€ќ-л€&– …4Ah`…-EЧœuй‰ŸUТє‰§‘tb‰Е%тH+ВЈ›Š/ŠЃŒнHŽF†c_4Іу+ёŸ6IкHКЈЄkAJшф“&ЩY“МQYe”5YyЄ–\f)Ѕ˜`&ЩЄYдmрˆа‰ш“•Цшх•&:п‡оЭY`˜sЩЉfbДu‡gjoђЙ—Ÿ>жyPcЁщйЃ™hz4'_vкЉ{;ОggІ™Ž8–Ѕ‹БЩ`Ј‚КX‚Ы™j}ŒFiЅўЌŠоvЊСZ_eЖв*ыvМњ—Zz-ЎХЈFт6ЁˆЛU*ЎЗrŠыГЮBЇ\ГЄцz*Ё ўцfЏшйжl;лчwЪђКkДjzшqг~9уSщ%+œЛкъІ*ВК~v'wћ–*БѓвљюЅmю™'Нл g­lZ[АД›B№Н.ЊкiSм ЖУ­ЛsУ> 1З­RЋЊК{Лho‡ oД:ьržбyќБo!?hГ;s‹­ШЃвwm„л",ЎаЄVќЋЄ;зJЋФвіJЕЗЌYŽусЕПNћЪђаы™ЊВШфБ1й —[№и@ }nНWн еЬ’›#б+З]mўФeћМwжжнЕІЅn]п6gt‡woŒЂРerЄuо:ЊДм?nЙŒХ‚ЌјцxwЛaо ГиyмЁ?ИДуЈGNfА™gиушЎKn–‚]ТћітЕ{ iю‰і.ЉЁ/МэgOќёAЇ‰ЅѓЬММ…ЦGo№яВWo}ѓУ?п§ізOЉ|ђрsE~€–o>ішkЏ>мпЯўћ ПоўєєЇ^тч_?єђыŸџ7Птсo€” ъм‡@ж§­eЅЛ\ОvзКJа]V‹ ўВe8Z№‚Г‚нПvДV№gџaР0fBZ%4ќ{!їZxŸŠа€(d! (УѕpYкaь€ˆ9ўfл yДЎЙ№~ЋЁz”ИD}СŠƒ'Ь^Ъд†E#.‰ЋЂ" ‚шХ/v1ŒY<"ЫhF&>ёŒcZ#л91†ŠK#сИA оpnCмcБі-?Ja83Є–bЅШ?RyдaPbЩJZђ’˜ЬdQ;3171/317102.gif0100644000113000011500000000276110161513150012214 0ustar prippripeadmGIF89a bїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ, bўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВфC&5ЂLЩВсЪ–_Тœ)€LšmтœysчФž>E q(QŽFžT2iFЇЁ2§ дІЮVЅtšЕІU‰ZЇ.ExЕfN†eБžUсеАЅО­—эBЎiС:ќJзюS—uГ ЮЛЕn\П1[ KИ(тХhБЈeуБоЅ|ГВKЮq/œœYmТЮ/Eo~ћЗIЙЬїBNЙвxtиTIƒ­}њњrя‡Сўwž|yѓЖбVO™§zїкЧЗ;пo}БїйцgКjџЃџ)`PUрN*іQ‚41ˆ[‡ „ю™ж …№5…†#Eио^мёv—eЊљV_КA„Š%’"hиіж~FЅHT6:‡Œ"юШу‰ƒ5–TZ7*˜оp*ЖˆЃkљсu$’#>Љb’’dˆ?Ж(p]™baR"e•1ЮжšJcjWYuФmјЃ‹cz5›—VncZŽчІœeZщZ[#VЕ%`U)љЂd8кЩч_{žйœ‘Z'ЁˆіщgžbNКлwœžWg…’ъЙ)R–ОWaЂšЂYjЄЮYcTи_zњщЉ2 Ћu=ЖЊc‡ašЊыv ЖЊxВTЌrПВwьs †jоВдб *Д$Q[’ЕB5‹­†гJы­zлf›,Ип*[.ЙуЂю‚к^klЛ ЅЋXfЊnŒ˜њЊiОЃš{Ј‰&wЎŒЛњX№ГџzЅС“'з 7LlР3мцРŽЪšЊ™—>ŠёЂЖхЙфnЏ ыp­ƒБšыЅ)ї;ыДEОkђЩЛЛrЗ5ѓ:3Т‹{sГЮv ›M&ˆЪšбEЫЗnƒТ=ЭєдTWmѕеXg­^@;3171/317103.gif0100644000113000011500000000270610161513150012214 0ustar prippripeadmGIF89až_їџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,ž_ўHА Сƒ*\ШАЁУ‡#JœHБЂA3NФЈБЃЧ‡?ŠLrЄIJž\ %Ы—aТT)ГцAš6EтЬYs'O”?њ šq(Q8SКlЉдЄRŽO%=кбчRS+^mI1+U‹C—zе Uыз—F›ЪTлѕьЪЌ[>З`нˆcн‚”›lп‹zGNХxW0SАu. їЏBЦ4й’Lќ1Ќ]Ш•/d̘2P„lЃbEyUДнЮž5:ИК(ъдˆЭM лЕlžƒkЧn‹[Ўюл1s–}ќ›їЦТNMƒ.œ9ФжКЁз–›zjыžБSжž˜{`яzСўЛ–ќWѓTбUO”§lчxс?—П—Ояіфн ХŸпў§й§љїšP 8~oHCs‘Цw;5ј`rjI6пb˜Љ&–vVm•Ÿ‡Р–aQ%F—„Ї‘T"K Ч—ub—жp,в膇]tЂ…X•(#Ž\ДЃ‰6JХWUљј™ŠЃЁUd|@цHтf™ƒШ!%н`#њЕYf^ЉхMYВ†e0nf”ЌWgЊHX™)Wе)*Жрž Црr†ё hŸ~ њЅž†JшЁd"'#y&Jh‡–%Iž‹6щтLš˜Љ™]бi)њѕі)ЈЇ™jЉТЅкщЇ­ЌкkOЎЊzъЌkеŠ+ЇЎюŠ–ЎРіьЊУоZ,ЌЧfъ+‹Щ.Кl‚ТF+'ŠZR{!Б|ŠzЃЖ75+bOа={вXмzЂВuцeeX[zЋйZд‰ыд™№ощ.’нVV%\ЕОњ.ЈхВ$œ’:;-ŠžЈш НЎkn§кz­ЌqJ %Х[\­пЫ№Џ3q›Я|ЄRŽ,2|&,ŸМ*Ч,ѓЬ4зlѓЭ};3171/317104.gif0100644000113000011500000000262410161513150012214 0ustar prippripeadmGIF89aŽ\їџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,Ž\ўHА Сƒ*\ШАЁУ‡#JœHБ €Š ^ЬШБcФ3‚ IВ$€‘QvіŽ9zј!,b†"‰01V\‡иЄeQж[’Ќ eпŠL.ˆWenAHƒ ЦUЃІeќЙ(žš–yуšoЇ\œpІљ“‚kUYЇ›>ey%{Z› *™ŸjhuћНЗ]ЃZAЅЂ‹N'i›фQšЈЅšVнЅrfкЉœŽzиЃІž*ъЈKЦj]{Нѕ™ъo$ЂзiЋВš ™мнJ~–lЏš2Ж!šPЩЊ•O6ЙьM=Њј,ї!ы+Е]2Ї+ЖЖ…˜ЊЊ[iчœл†ыщ‹W6іjЈ[`˜_ЛюЙ›NЛ—Бп’ЊЁГšшЗѓ‚+]ОО',Су№Нƒ"ь№УК;3171/317105.gif0100644000113000011500000000437110161513150012216 0ustar prippripeadmGIF89aДУїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,ДУўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГІЭ›8sъмЩs%€žх(tbбE­@iDЇ86]j*DЋ6•bЅКpЋCЏ3‚хZp,CГ0ЁЂ%Л6aл–jЩ~}{ЎO„vyц- дъ^ўlJX`aЂ„…VшWюYŠЇ ўИ8РиЦŽнnL*ЄdУ БЮК™ фбnеœЙniСЊCž^ЗЕkШІc{жн•ЕmгЏa‹эXй№чЩЕЧ[+jс|A/П­\zPƒЧ­ozѕчУБў{мЊеїїрШЛЃ?}uЫы1ЏWЏўo№ЦïϘиќ~ћЖсg™~џ1E tх%їž€]ˆXqмН_hѕс‚Д1ж—їeШaTЖfXЯtсyіfaˆ™‰–и‹q­Ј Šj(ЃwЪX#R,:ІЃŠzѕ(з69cŽ™г‰H2g$Ž:ЩЃ’Ю"•"Zy“Q^wЃ{4bTЂH\Vщ$ŒV…цŽfyfnžСЩf{MzYж˜x fbж…ЇŸIвйeŸw–”f›b(х€†ЎUІ›v2КЇ˜~щїh‹шY:&I!њчK fЧЅі%Ѕ™^Ђ9dЊюyЉўZ"*›Ї&J(&…w*ЄЗiшЎЖђЩ_ŠПћъБBGв‹ДJШр”РТZ+SЕ~ŠЌГгR‹mЖFU›,MЧВѕmXBŠЛш’хrѕ,`щRЕ.КXbzю•б^)ЛёJ{/Мѕš{]*Рћ*ЋН„їЉТˆъ­ЋюVŸС‚><ЌВd \ёФWUшВŽЖЛдК“њPИъf*щЦ І–Ј"*lrк Гv(Лћšs,?ѕ1˜9\кbFtq8Чќ”‹qЮляx,[{ вNwKlЎЭ>ШьЯФЫёЌYЧ4e^KfвљЊ9ѕТ^S-veAччрi/LTйiХќYўЩ~F†їœєNЪgж|ЇЊ1юјСЉхЅ0jя.оsž+,фЗ*ј–Jг]8ЭŠЗМaк?ѓнхy"ўtУœ“^Гщ\G.њ—ŒЫщvhžW=№шЋCwћYП[:iЎыЌ;ИJгюБђѓzё“›Ы;|Mqѓо+ОНЫќЗKе3?;єЕoѓšooMqѓвClјн уОаѓТоВžяkПЕыГˆ?KяЪoZнпђк—БЋ$O€к2Nіp—Кшэя.RвqgЊшщ b *бЭш@h%LsрбшСчЯDaжOЖЈyыx_kZ eBZ­‚ѕГ^ ћж(й_ўзbНЧ-їбАˆWS!иБ%В№‚;”њ ИBьYaQlн‰И;">P%В#ојНNЮ_A”b ЉH-‚ЯrtX­x1†QІ3I in der Reihenfolge <0,0><0,1>, usw. eingelesen for( int i=0; imыыŸњіЧ?іu'+ œs’Рњ-0wђsб"…Ѓ6Q№z‘ЉЕЖ ю6 М•‚Кѓ9Fx%2пнДBKoзъžkжBљФ07^ ГUC–ѕа‡ў/ДсUD p‡Eb№ U?bPLOЬT’Ђј ЯЭ0TTTŠŸrІЄ#]ёQойbЫОhЄ/іыcј3гЯx2P‰ќƒcнˆ$3Ž№HEєс =(3:ВЅWѓдhФD– YD\KЃ№Х(DvыJ‰ЪЅацПFJJ`”в•KгЊ}Ѕ o+˜ВrХЌЊjA^уЂАЬж,U1+•ЦP+Wщ*XЖŒ”УхьдхА^Jroѓх Зƒх ]‚$І0ЉЬБUr^Ю4$фкжЎfѓuЉЉ 5yEВ‰E+›œŠІД:–Д‘)nn '%ЭЉЭuъшœюЄXо<ІУ[вMjDЉД%ЪBзЕ'ђ‰Š #ZЬК'Юлбѓlёќš>5‡ЯщєCнч5Q†NwM[E-zДЌ]ДriH9КагёSЃх]Fз$2С!4ЅЕи] гч4tk#ХP0k QЦщ№q!фву>xЃФђnŒ ъШ€J8н№m1‚;ЊP 'UЁўMЉLнn:ЗUеqе-ZM^њRЏZЮЌ]EЋчШжЖКѕ­pн]@;3171/10180/104203.gif0100644000113000011500000000327310161513150012660 0ustar prippripeadmGIF89aЬpїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,ЬpўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГІЭ›8sъмЩГЇЯŸ@#ъs(бƒFђLЊSЅ;B} 5jгЊAЉ.ХJTЋNЏ\s‚Н)5,аБ5бšЕЉvцXЇpUТ-Лrn[‡wc‚ЅKЗ$пМџjьђmвО$Ы=LXaуКxŸŒ[XrХЧrJЕ)гŽ­Iф` !ЉфЙ5љ$[ц‰8eZLwй•4XG†ѕf’…ueи‘—й r ǘ›ЇлsажКLtЮFЭsвЅ6œ›ЊB=)гЌ&ЖЇеН 4ЅЖvvЕзYџЉГд^sLЌЄ4ущ4h‘:*kЬ}Ў}jз|ЪM Пъ’šjЃ”zgwоi 'лЋp—ьпŸцYЋЏŒ+ЋјсЩъЋуЈЊJЧіБѓю[мВ’7Ў9оŸ&ќЏчп>ыnфЗŠNњш™xы†6ˆ5рђъ8šхч~Ž4ьМo]bяќчfO<5ыУЫ1Сћ~­РІ+ }ЕM> ёнpЏksШ6ѕYёТŸЬ(Vр?‰И[J—›ўњьЗяўћ№Ч/џќєзoџ§јчЏ?§;3171/10180/104202.gif0100644000113000011500000000253710161513150012661 0ustar prippripeadmGIF89a,їџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,,ўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГІЭ›8sъмЩГЇЯŸ@ƒ JДЈбЃH“*]ЪДЉгЇPЃJJЕЊеЋXГjнъ‰_z [д+W†f}І}ИmлЁoЯŒ›“ЎBЛsПте9Ж/YЙќŽхЙї`сfз 8Џт•}ЦѕKP№_ЧлŒмИ чš–пZF,ј.YЭ4гЂІЊњ2LЦ™лТ†Йске`?g ыКВю—”=ђ6M[dёйЎ‘Лѕм{їiмoCя(НЙёчж9в•nјљrп CўџOњЄьь&ЯЋTOr;іахУ_žў]2zэщod’џѕюЄ‰_Bтщ'–б!Ш\nн7Rq Й7 шш Eƒ)Q†Ж—X‡д}X’„іез]o:7Ё‡+ВФнzо8_uyЕH€Yhцb„>Тxcяљ†н5цјЃmA"f˜F<І[ˆH6'eDQnwQiЂ•fфd.)o‰еЦ”­щ%™“žБ‰&™jšйцš[Іw"9g`І8^a~9%ž•эЧ!Šw…јa~с9Зш“sv†%Є§%ZЉЅщЭ%)X”fJрz˜ŽищІЖк^ЈžцxiЄЄ–ЊЉyFЈІњЊЌ…Ж*–Љ! їЊ˜YIhЎПцiы˜‚z8›}W~tllRHлxУЂѕhЉE‹сДеЮФЋЕмvыэЗр†+юИфb;3171/10180/104201.gif0100644000113000011500000000250210161513150012650 0ustar prippripeadmGIF89ašJїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,šJўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГ&B61тЬq'O‹>*T(EЂFM:q)SЇL%B§95jOЋЊbuЈ•&в›DПЂ +6cW™SХ–%Љі,зЈi}ЎйvЃ[˜gУВдЋёЎЫЎHчВХ)ИЂпН ПЉјpтЄUыtъXЉм ”Ќœ2ђхЩK5їќ,pЎ\†œЧнЩЗєСдcŠrтРj_sдл:rmЃЉ)›є§иЌшЃ†u—LліцуM“Ч~ѓ­NТЮ•GŸО\9`уYГўs—ЊИ4є‹|Y“§ЛGётЅ_mК#ќПл’ЖЛ•?}ѓЗ‘% v§Ёзž€чYW њ!Ÿk 2xTfўE(_S‚х `n‡vˆUpqѕe!P†•hж‰ђ$ЂU/ОЧ"rРݘU6Je[ŽХh=юЈa‚v­їc`еw’dт˜$€Kюg"’юEdsB&y%x['”gPFц”_ZІ$hЁ7fxЁчуnfŽyк™њб9'„YyYцkъAU|}VGрxTЦ†›p›ѕuш “бі”„xvЧhЂOG(]‚*#НйiІ fљkŸВižЈNКчЈы*в€)yТz)\(тЧž‡–кКš…žўеЋЄ<ў фАФkьБШ&ЋьВЬ6;c@;3171/10180/Det23.html0100644000113000011500000001143510161513150013206 0ustar prippripeadm EPROG-LU - Aufgabe 1042 (Determinante von 2- ,3- stelligen Matrizen)

1042 Det23 Determinante von 2- ,3- stelligen Matrizen
Kategorie:Matrizen
Klasse:leicht
Eingabe:Integer
Ausgabe:Integer
Abzugebende Files: Det23.txt, Det23.java

Kurzbeschreibung:

Die Determinante einer 2*2 oder 3*3 - Matrix soll berechnet werden.

Allgemeine Hinweise:

Aufgabenstellung:

Ihr Programm soll zuerst eine Zahl n einlesen, die die Dimension der quadratischen Matrix angibt. Anschließend sollen die Elemente der n*n-Matrix eingelesen werden; die Determinante der Matrix soll berechnet und ausgegeben werden.

Für die Berechnung der Determinante einer 2*2-Matrix gilt folgende Formel:

so ist

Die Determinante einer 3*3-Matrix kann wie folgt berechnet werden:

so ist

Anmerkung: Dieses Verfahren heißt "Regel von Sarrus" (sprich [SARÜ]).

Eingabedaten:

Lesen Sie zuerst die Dimension der Matrix ein; diese darf nur 2 oder 3 sein.
Danach werden die Elemente der Matrizen eingelesen, und zwar in der Reihenfolge a11, ... , a1n, a21, ... , .... , ann.

Die einzelnen Elemente der Matrix sind vom Typ INTEGER.

Ausgabedaten:

Bei korrekten Eingabedaten geben Sie die Determinante der Matrix, gefolgt von einem Zeilenvorschub, aus.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.

Sind die Datentypen bei allen Eingaben richtig, die eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen (z.B. Dimension>3 oder zuwenige, bzw. zuviele Datensätze für die Matrix), so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
2
1 2 4 5

2 1 3.4 3 5

4

Ausgabedaten
-3

?

FALSCHE EINGABE


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Det23 < Det23.i1 > Det23.out1

Das erzeugte File Det23.out1 können Sie dann mit dem mitgelieferten Outputfile Det23.o1 vergleichen. 3171/10551/0040777000113000011500000000000010161513150011444 5ustar prippripeadm3171/10551/Det23.java0100644000113000011500000000366210161513150013170 0ustar prippripeadmimport eprog.*; public class Det23 { public static void main(String[] Args) { int MatrizenPotenz = 0; int AnzahlZahlen; int[] Zahl; /* Die Matrizen potenz wird eingelesen */ try { MatrizenPotenz = EprogIO.readInt(); } catch(EprogException e) { } finally { /* es wird ueberprueft ob die Potenz der Spetifikation (2 oder3) entspricht */ if (MatrizenPotenz !=2 && MatrizenPotenz !=3) { EprogIO.println(" Falsche Eingabe"); System.exit(1); } } /* falls die Eingabe korrekt war wird die Anzahl an Elementen der Matrizen berechnet und ein entsprehender Array erstellt */ AnzahlZahlen = MatrizenPotenz * MatrizenPotenz; Zahl = new int[AnzahlZahlen]; /* die Werte fuer die Felder des soeben ersellten Arrays mittels einer Schleife eingelesen */ for (int Zaehler =0; Zaehler < AnzahlZahlen;Zaehler++) { while(true) { try { Zahl[Zaehler] = EprogIO.readInt(); break; } catch(EprogException e) { /* falls versucht wurde der MatrizenPotenz oder einer Zahl einen falschen DatenTyp zuzuordnen wird folgendes ausgegeben */ EprogIO.println("?"); } } } /* nun wird der Determinant berechnet und ausgegeben , je nachdem es sich um eine 2*2 oder 3*3 Matrix andelt */ if(MatrizenPotenz == 2) { EprogIO.println(( Zahl[0]*Zahl[3]- Zahl[1]*Zahl[2] )); } else { EprogIO.println(( Zahl[0]*Zahl[4]*Zahl[8]+Zahl[1]*Zahl[5]*Zahl[6]+ Zahl[2]*Zahl[3]*Zahl[7]-Zahl[2]*Zahl[4]*Zahl[6]- Zahl[1]*Zahl[3]*Zahl[8]-Zahl[0]*Zahl[5]*Zahl[7] )); } } } 3171/10551/Det23.txt0100644000113000011500000000124610161513150013062 0ustar prippripeadm Als erstes habe ich die Matrizen Potenz eingelesen und nachher habe ich ќberprќft ob die Potenz der Spezifikation (2 oder 3) entspricht.Falls die Eingabe korrekt war wird die Anzahl an Elementen der Matrizen berechnet und ein entsprechender Array erstellt und falls nicht wird folgendes ausgegeben „ Falsche Eingabe“. Nachher werden die Werte fќr die Felder des soeben erstellten Arrays mittels einer Schleife eingelesen. falls versucht wurde der Matrizen Potenz oder einer Zahl einen falschen Daten Typ zuzuordnen wird folgendes ausgegeben „?“. Nun wird der Determinant berechnet und ausgegeben, je nachdem es sich um eine 2*2 oder 3*3 Matrix handelt. 3171/10551/104204.gif0100644000113000011500000000427710161513150012670 0ustar prippripeadmGIF89aѕBїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,ѕBўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГІЭ›8sъмЩГЇЯŸ@ƒ JДЈбЃH“*]ЪДЉгЇPЃJJЕЊеЋXГFрaW‡\Пђфк’ЌжfUІНКіd[ЄoЦ•;зf]’wЅц Йзi_ўм5№ЪАˆХтMlи(уЦ+†*ЙdхЄ„СžŒђFߘ9›эXєbИaбNFL01CВЄнІV;ћ0Kж)qЋ=\{toЁ—U3шZaкиtK4;ЗИFцІs4]PzфЏЭuc„žљAъ­ўSфў]ЛEђХЫ<ЮОЕиОэЇПŸ1Оя№є'цЗ/’џHџл-рG8Ÿ]ЋaЧzЦи dЂј™ƒї—пrЏQиŸ†џq`ƒјYц!H–• …—э!‰оyеЂ~/Ж‘r^XŒФЙhу„;ђˆ`u ІИ_pЊ&Ђ‘ЙmV„дСжуEN&‰фyLв5хi8fxхu+nuт–@ с“bZx˜šйб… nЈf…YљfšhВ8чz_о•W\u19fˆсЅ%‡Ъб8Ѓ†…Іхœc’щ ј-…zU&Ѓх9 i[•R Љpщe "ŠŸЮЖчŸЯQШЉІ›*іžŒў9^Зi ДЂеœoОѕъxˆжjkЌ0Ю lп]:ЅЎОzYЊЏШйЗ+АЌz9ŠЮ™їi˜K’šьЏВ‚ZьЗМj[\З.кxЌBЙсz;.ЌхŽzЎqнКк тТћЎˆQКї›НMF фfЯnЛœ“ВЫЅЛУъKo†,Бf jёТџ^ќФю69hХћ6 #Ш"O|жyїЇАхіАЪик2ЬЁZ6ѓ |2И&Ж2_?“˜3^Cг\2/ }3в)я\_г€­4дQѓ<ЕеUїьsбWk§євNCIѕжїr 4жLПЋsбыmЖл`]іj‡*v Џ‰ўСЂRЈЕт-\пƒу ј’ЧхxЌ‡#ЮœтwПЊžнbлvлKkGvљцœЃ”9х\чVц.}ОешЈ‹њъЌЗюњыАЧ.ћьДзnћэИчЎћюМїюћяР/ќ№ФoќёШ'ЏќђЬ7яќѓаG/§єдWo§ѕиgЏ§і2ѓvсЃbОБмЇjтїІkІејс—OхДќNо‘,Т§|=цўvщŠ>mыыŸњіЧ?іu'+ œs’Рњ-0wђsб"…Ѓ6Q№z‘ЉЕЖ ю6 М•‚Кѓ9Fx%2пнДBKoзъžkжBљФ07^ ГUC–ѕа‡ў/ДсUD p‡Eb№ U?bPLOЬT’Ђј ЯЭ0TTTŠŸrІЄ#]ёQойbЫОhЄ/іыcј3гЯx2P‰ќƒcнˆ$3Ž№HEєс =(3:ВЅWѓдhФD– YD\KЃ№Х(DvыJ‰ЪЅацПFJJ`”в•KгЊ}Ѕ o+˜ВrХЌЊjA^уЂАЬж,U1+•ЦP+Wщ*XЖŒ”УхьдхА^Jroѓх Зƒх ]‚$І0ЉЬБUr^Ю4$фкжЎfѓuЉЉ 5yEВ‰E+›œŠІД:–Д‘)nn '%ЭЉЭuъшœюЄXо<ІУ[вMjDЉД%ЪBзЕ'ђ‰Š #ZЬК'Юлбѓlёќš>5‡ЯщєCнч5Q†NwM[E-zДЌ]ДriH9КагёSЃх]Fз$2С!4ЅЕи] гч4tk#ХP0k QЦщ№q!фву>xЃФђnŒ ъШ€J8н№m1‚;ЊP 'UЁўMЉLнn:ЗUеqе-ZM^њRЏZЮЌ]EЋчШжЖКѕ­pн]@;3171/10551/104203.gif0100644000113000011500000000327310161513150012662 0ustar prippripeadmGIF89aЬpїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,ЬpўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГІЭ›8sъмЩГЇЯŸ@#ъs(бƒFђLЊSЅ;B} 5jгЊAЉ.ХJTЋNЏ\s‚Н)5,аБ5бšЕЉvцXЇpUТ-Лrn[‡wc‚ЅKЗ$пМџjьђmвО$Ы=LXaуКxŸŒ[XrХЧrJЕ)гŽ­Iф` !ЉфЙ5љ$[ц‰8eZLwй•4XG†ѕf’…ueи‘—й r ǘ›ЇлsажКLtЮFЭsвЅ6œ›ЊB=)гЌ&ЖЇеН 4ЅЖvvЕзYџЉГд^sLЌЄ4ущ4h‘:*kЬ}Ў}jз|ЪM Пъ’šjЃ”zgwоi 'лЋp—ьпŸцYЋЏŒ+ЋјсЩъЋуЈЊJЧіБѓю[мВ’7Ў9оŸ&ќЏчп>ыnфЗŠNњш™xы†6ˆ5рђъ8šхч~Ž4ьМo]bяќчfO<5ыУЫ1Сћ~­РІ+ }ЕM> ёнpЏksШ6ѕYёТŸЬ(Vр?‰И[J—›ўњьЗяўћ№Ч/џќєзoџ§јчЏ?§;3171/10551/104202.gif0100644000113000011500000000253710161513150012663 0ustar prippripeadmGIF89a,їџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,,ўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГІЭ›8sъмЩГЇЯŸ@ƒ JДЈбЃH“*]ЪДЉгЇPЃJJЕЊеЋXГjнъ‰_z [д+W†f}І}ИmлЁoЯŒ›“ЎBЛsПте9Ж/YЙќŽхЙї`сfз 8Џт•}ЦѕKP№_ЧлŒмИ чš–пZF,ј.YЭ4гЂІЊњ2LЦ™лТ†Йске`?g ыКВю—”=ђ6M[dёйЎ‘Лѕм{їiмoCя(НЙёчж9в•nјљrп CўџOњЄьь&ЯЋTOr;іахУ_žў]2zэщod’џѕюЄ‰_Bтщ'–б!Ш\nн7Rq Й7 шш Eƒ)Q†Ж—X‡д}X’„іез]o:7Ё‡+ВФнzо8_uyЕH€Yhцb„>Тxcяљ†н5цјЃmA"f˜F<І[ˆH6'eDQnwQiЂ•fфd.)o‰еЦ”­щ%™“žБ‰&™jšйцš[Іw"9g`І8^a~9%ž•эЧ!Šw…јa~с9Зш“sv†%Є§%ZЉЅщЭ%)X”fJрz˜ŽищІЖк^ЈžцxiЄЄ–ЊЉyFЈІњЊЌ…Ж*–Љ! їЊ˜YIhЎПцiы˜‚z8›}W~tllRHлxУЂѕhЉE‹сДеЮФЋЕмvыэЗр†+юИфb;3171/10551/104201.gif0100644000113000011500000000250210161513150012652 0ustar prippripeadmGIF89ašJїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,šJўHА Сƒ*\ШАЁУ‡#JœHБЂХ‹3jмШБЃЧ CŠIВЄЩ“(SЊ\ЩВЅЫ—0cЪœIГ&B61тЬq'O‹>*T(EЂFM:q)SЇL%B§95jOЋЊbuЈ•&в›DПЂ +6cW™SХ–%Љі,зЈi}ЎйvЃ[˜gУВдЋёЎЫЎHчВХ)ИЂпН ПЉјpтЄUыtъXЉм ”Ќœ2ђхЩK5їќ,pЎ\†œЧнЩЗєСдcŠrтРj_sдл:rmЃЉ)›є§иЌшЃ†u—LліцуM“Ч~ѓ­NТЮ•GŸО\9`уYГўs—ЊИ4є‹|Y“§ЛGётЅ_mК#ќПл’ЖЛ•?}ѓЗ‘% v§Ёзž€чYW њ!Ÿk 2xTfўE(_S‚х `n‡vˆUpqѕe!P†•hж‰ђ$ЂU/ОЧ"rРݘU6Je[ŽХh=юЈa‚v­їc`еw’dт˜$€Kюg"’юEdsB&y%x['”gPFц”_ZІ$hЁ7fxЁчуnfŽyк™њб9'„YyYцkъAU|}VGрxTЦ†›p›ѕuш “бі”„xvЧhЂOG(]‚*#НйiІ fљkŸВižЈNКчЈы*в€)yТz)\(тЧž‡–кКš…žўеЋЄ<ў фАФkьБШ&ЋьВЬ6;c@;3171/10551/Det23.html0100644000113000011500000001143510161513150013210 0ustar prippripeadm EPROG-LU - Aufgabe 1042 (Determinante von 2- ,3- stelligen Matrizen)

1042 Det23 Determinante von 2- ,3- stelligen Matrizen
Kategorie:Matrizen
Klasse:leicht
Eingabe:Integer
Ausgabe:Integer
Abzugebende Files: Det23.txt, Det23.java

Kurzbeschreibung:

Die Determinante einer 2*2 oder 3*3 - Matrix soll berechnet werden.

Allgemeine Hinweise:

Aufgabenstellung:

Ihr Programm soll zuerst eine Zahl n einlesen, die die Dimension der quadratischen Matrix angibt. Anschließend sollen die Elemente der n*n-Matrix eingelesen werden; die Determinante der Matrix soll berechnet und ausgegeben werden.

Für die Berechnung der Determinante einer 2*2-Matrix gilt folgende Formel:

so ist

Die Determinante einer 3*3-Matrix kann wie folgt berechnet werden:

so ist

Anmerkung: Dieses Verfahren heißt "Regel von Sarrus" (sprich [SARÜ]).

Eingabedaten:

Lesen Sie zuerst die Dimension der Matrix ein; diese darf nur 2 oder 3 sein.
Danach werden die Elemente der Matrizen eingelesen, und zwar in der Reihenfolge a11, ... , a1n, a21, ... , .... , ann.

Die einzelnen Elemente der Matrix sind vom Typ INTEGER.

Ausgabedaten:

Bei korrekten Eingabedaten geben Sie die Determinante der Matrix, gefolgt von einem Zeilenvorschub, aus.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.

Sind die Datentypen bei allen Eingaben richtig, die eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen (z.B. Dimension>3 oder zuwenige, bzw. zuviele Datensätze für die Matrix), so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
2
1 2 4 5

2 1 3.4 3 5

4

Ausgabedaten
-3

?

FALSCHE EINGABE


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Det23 < Det23.i1 > Det23.out1

Das erzeugte File Det23.out1 können Sie dann mit dem mitgelieferten Outputfile Det23.o1 vergleichen. 3178/0040777000113000011500000000000010161513147011006 5ustar prippripeadm3178/Euro1.html0100666000113000011500000002203310161513147012664 0ustar prippripeadm EPROG-LU - Aufgabe 3178 (Euroumrechung1)

3178 Euro1 Euroumrechung1
Kategorie:String
Klasse:leicht
Eingabe:siehe Spezifikation
Ausgabe:siehe Spezifikation
Abzugebende Files: Euro1.txt, Euro1.java, *.java , 10652.txt, 9776.txt

Kurzbeschreibung:

Eine Rechnung, die Geldbeträge in verschiedenen Währungen addiert und/oder subtrahiert, wird eingelesen. Das Ergebnis dieser Berechnung wird unter Benutzung des Euroumrechnungskurses in einer vorgegebenen Währung ausgegeben.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie einen String ein, der aus Ziffern und den Zeichen "A", "I", "E", "D", "+", "-" und "=" bestehen darf.

Die Zeichen "A" bis "D" sind die Währungsbezeichnungen; diese sollen immer den Geldbeträgen nachgestellt sein. Zwischen zwei Geldbeträgen muß immer ein Operator ("+" oder "-") stehen; die Rechnung wird mit "=" und der Währungsbezeichnung, in der das Ergebnis geliefert werden soll, abgeschlossen.

Als Ausgabe sollen Sie liefern, wie der Betrag in der Zielwährung aus den jeweiligen Scheinen und Münzen zusammengestellt werden kann, wobei immer möglichst große Scheine und Münzen gewählt werden müssen; Münzen dürfen erst genommen werden, wenn man mit Scheinen nicht mehr weiterkommt.

Bei den 3 nationalen Währungen (Schilling, Mark, Lire) sowie beim Euro gibt es folgende Scheine und Münzen:

E = Scheine (5,10,20,50,100,200,500) Münzen (1,2)
A = Scheine (20,50,100,200,500,1000,5000) Münzen (1,5,10)
D = Scheine (10,20,50,100,200,500,1000) Münzen (1,2,5)
I = Scheine (2000,5000,10000,50000,100000,500000) Münzen (100,200,500,1000)

Es gelten folgende Wechselkurse:

1E = 13.7603A
1E = 1936.27I
1E = 1.95583D

Bei Umrechnungen zwischen verschiedenen nationalen Währungseinheiten ist zunächst in Euro und bei Bedarf anschließend in die gewünschte nationale Währungseinheit umzurechnen.

Beispiel der Umrechnung:
von 100 DM in Schilling: 100 DM : 1,95583 DM/Euro = 51,1291881196... Euro.
Daraufhin wird der Euro-Betrag auf genau drei Nachkommastellen gerundet und mit dem Umrechnungskurs Schilling/Euro multipliziert: 51,129 Euro x 13,7603 A/Euro = 703,5503787.
Die Additionen/Subtraktionen von Beträgen erfolgt in Euro, der Gesamtbetrag musß größer als 0 sein.

Der Endbetrag in der Zielwährung ist auf den nächstliegenden Pfennig, Groschen oder Cent, d. h. auf zwei Stellen hinter dem Komma auf- oder abzurunden. Dabei wird nach der sog. kaufmännischen Rundung vorgegangen: bis 4 wird abgerundet, ab 5 wird aufgerundet.

Lirebeträge werden auf 100 Lire auf- bzw. abgerundet.

Eingabedaten:

Lesen Sie den String ein, der die Rechnung enthält. Dieser darf nur aus den oben genannten Zeichen (Grossbuchstaben) bestehen und muß eine gültigen Rechnung (z.B. keine zwei Operatoren hintereinander) enthalten.

Es muß mindestens ein Betrag und maximal 5 Beträge in der Rechnung vorkommen, die jeweils nicht größer als 50000 (in der jeweiligen Währung) sein dürfen.

Ausgabedaten:

Bei korrekten Eingabedaten soll Ihr Programm die Aufteilung des Betrages in Scheine, Münzen und einen Restanteil liefern. Geben Sie dazu ein "S" aus, danach in nach Betrag absteigender Reihefolge den Nennwert des Scheines und die Anzahl der notwendigen Scheine dieser Größe.

Ebenso verfahren Sie mit den Münzen: Geben Sie ein "M" aus und danach Nennwert und Anzahl der benötigten Münzen. Euro, Schilling und Markbeträge kleiner als 1 bzw. Lirebeträge kleiner als 100 werden nicht mehr weiter aufgeteilt. Falls dieser Betrag kleiner als 1 ist (ausser bei Lire), so multiplizieren sie diesen noch mit 100 und schneiden die Nachkommastellen ab. Geben Sie zuerst ein "R"und dann diesen Restbetrag aus.

Die einzelnen Ausgaben sind durch Leerzeichen zu trennen.

Wenn überhaupt keine Scheine bzw. Münzen notwendig sind, so geben Sie auch kein "S" bzw. "M" aus. Wenn kein Restbetrag vorhanden ist geben Sie auch kein "R" aus.

Trennen Sie die einzelnen Teile der Ausgabe durch Leerzeichen und geben Sie am Ende einen Zeilenvorschub aus.

Fehlerbehandlung:

Wenn der Eingabestring nicht den Bedingungen genügt, so soll Ihr Programm die Fehlermeldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
3543A=A

5A+40000I+370D=D

Ausgabedaten
S 1000 3 500 1 20 2 M 1 3

S 200 2 10 1 M 1 1 R 11


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Euro1 < Euro1.i1 > Euro1.out1

Das erzeugte File Euro1.out1 können Sie dann mit dem mitgelieferten Outputfile Euro1.o1 vergleichen. 3178/Euro1.i10100644000113000011500000000001010161513147012214 0ustar prippripeadm3543A=A 3178/Euro1.o10100644000113000011500000000003210161513147012226 0ustar prippripeadmS 1000 3 500 1 20 2 M 1 3 3178/Euro1.i20100644000113000011500000000002110161513147012217 0ustar prippripeadm5A+40000I+370D=D 3178/Euro1.o20100644000113000011500000000003010161513147012225 0ustar prippripeadmS 200 2 10 1 M 1 1 R 11 3178/9776/0040777000113000011500000000000010161513147011422 5ustar prippripeadm3178/9776/Money2.java0100644000113000011500000000662210161513147013435 0ustar prippripeadm/************************************************************************* Name: SULEJMAN Ferdi MatrNR: 0226953 Beschreibung: Ein Geldbetrag soll eingelesen werden und auf Scheine und Muenzen aufgeteilt werden. **************************************************************************/ import eprog.*; public class Money2 extends EprogIO { public static void main(String[]args)throws EprogException{ String s; int laenge,wert=0; char[] ch; boolean enter=true; s = readWord(); laenge=s.length(); ch=new char[laenge]; //String wird in char-Array abgelegt for(int i=0;i10000000){ println("Falsche Eingabe"); enter=false; break; } } int[]cscheine=new int[]{800,500,100,50,10,2}; int[]cmuenzen=new int[] {5,1}; int[]dscheine=new int[]{400,100,50,20,4}; int[]dmuenzen=new int[] {10,5,2,1}; int bar,rest; StringBuffer schein=new StringBuffer(); StringBuffer mschein=new StringBuffer(); if(enter==true){ //Berechnung der C-Scheine if(ch[laenge-1]=='C'){ A: for(int i=0;i<6;i++){ bar=wert/cscheine[i]; if(bar==0) continue A; else if(bar==0 && i==5) break; rest=wert%cscheine[i]; wert=rest; //z.B.: a.append(b) haengt b an a an schein.append(" "+cscheine[i]+" "+bar); } //Berechnung C-Muenzen B: for(int i=0;i<2;i++){ bar=wert/cmuenzen[i]; if(bar==0) continue B; else if(bar==0 && i==1) break; rest=wert%cmuenzen[i]; wert=rest; mschein.append(" "+cmuenzen[i]+" "+bar); } } else { //Berechnung D-Scheine C: for(int i=0;i<5;i++){ bar=wert/dscheine[i]; if(bar==0) continue C; else if(bar==0 && i==4) break; rest=wert%dscheine[i]; wert=rest; schein.append(" "+dscheine[i]+" "+bar); } //Berechnung D-Muenzen D: for(int i=0;i<4;i++){ bar=wert/dmuenzen[i]; if(bar==0) continue D; else if(bar==0 && i==3) break; rest=wert%dmuenzen[i]; wert=rest; mschein.append(" "+dmuenzen[i]+" "+bar); } } //Ueberpruefung ob Scheine oder Muenzen vorhanden sind if(schein.length()!=0) schein.insert(0,"S"); if(mschein.length()!=0) mschein.insert(0," "+ "M"); //Ausgabe von Scheinen und(falls vorhanden) Muenzen schein.append(mschein); println(schein); } } } 3178/9776/Money2.txt0100644000113000011500000000174310161513147013332 0ustar prippripeadm************************************************************************* Name: SULEJMAN Ferdi MatrNR: 0226953 Datum: 05.11.2004 e-mail: ferdis83@yahoo.com ************************************************************************** Aufgabe: Ein Geldbetrag soll eingelesen werden und auf Scheine und Mќnzen aufgeteilt werden. Es stehen zwei Wфhrungseinheiten zur Verfќgung ( C und D ). Jede Wфhrungseinheit hat eine bestimmte Anzahl von Scheinen und Mќnzen. Scheine: C={800,500,100,50,10,2} D={400,100,50,20,4} Mќnzen: C={5,1} D={10,5,2,1} Jede Eingabe soll so erfolgen, dass nach jedem Betrag die Wфhrungseinheit C oder D vorkommt. Nach richtiger Eingabe, soll jetzt je nach Wфhrung, der eingegebene Betrag in Scheine und Mќnzen aufgeteilt werden. Die Aufteilung erfolgt so,dass zurerst nach Scheinen ermittelt wird und dann nach Mќnzen. Das Programm ist ausreichend mit Kommentaren versehen, dass weitere Erklфrungen nicht notwendig sind. viel Glќck bei den nфchsten Beispielen! 3178/9776/Money2.html0100644000113000011500000001136310161513147013456 0ustar prippripeadm EPROG-LU - Aufgabe 1132 (Geldberechnung)

1132 Money2 Geldberechnung
Kategorie:String
Klasse:schwer
Eingabe:String
Ausgabe:siehe Spez
Abzugebende Files: Money2.txt, Money2.java

Kurzbeschreibung:

Eine Geldbetrag soll eingelesen werden und auf Scheine und Münzen aufgeteilt werden.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie einen String ein, der einen Geldbetrag sowie eines der (fiktiven) Währungskennzeichen C und D enthält.

In diesen fiktiven Währungen gibt es folgende Scheine und Münzen:

C = Scheine (2,10,50,100,500,800) Münzen (1,5)
D = Scheine (4,20,50,100,400) Münzen (1,2,5,10)

Der Geldbetrag soll nun auf möglichst wenige (->große) Scheine aufgeteilt werden; Münzen dürfen erst dann genommen werden, wenn man mit Scheinen nicht mehr weiterkommt. Auch hier sollen es möglichst wenige Münzen sein.

Eingabedaten:

Lesen Sie einen String ein, der einen Geldbetrag und am Ende einen der Buchstaben "C" oder "D" enthält. Es dürfen nur Ziffern sowie die Großbuchstaben C und D im String vorkommen.

Der Geldbetrag muß größer als 0 sein und darf 10000000 (10 Millionen) nicht übersteigen.

Ausgabedaten:

Bei korrekten Eingabesätzen soll Ihr Programm die Aufteilung des Betrages in Scheine und Münzen liefern. Geben Sie dazu ein "S" aus, danach in nach Betrag absteigender Reihenfolge den Nennwert des Scheines und die Anzahl der notwendigen Scheine dieser Größe.

Ebenso verfahren Sie mit den Münzen: Geben Sie ein "M" aus und danach Nennwert und Anzahl der benötigten Münzen.

Wenn überhaupt keine Scheine bzw. Münzen notwendig sind, so geben Sie auch kein "S" bzw. "M" aus.

Trennen Sie die einzelnen Teile der Ausgabe durch Leerzeichen und geben Sie am Ende einen Zeilenvorschub aus.

Fehlerbehandlung:

Bei fehlerhaften Eingabestrings geben Sie die Meldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, aus.

Beispiele:

Eingabedaten
1253D

31402C

Ausgabedaten
S 400 3 50 1 M 2 1 1 1

S 800 39 100 2 2 1


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Money2 < Money2.i1 > Money2.out1

Das erzeugte File Money2.out1 können Sie dann mit dem mitgelieferten Outputfile Money2.o1 vergleichen. 3178/10652/0040777000113000011500000000000010161513147011463 5ustar prippripeadm3178/10652/Money2.java0100644000113000011500000000460310161513147013473 0ustar prippripeadm/* Autor: Milena Hudl Mnr: 0261242 Bsp1: 1132 Geldberechnung */ import eprog.*; public class Money2 extends EprogIO { //Werte der Scheine und Muenzen entsprechend der Waehrung einlesen public static int[] cScheine = {800,500,100,50,10,2}; public static int[] cMuenzen = {5,1}; public static int[] dScheine = {400,100,50,20,4}; public static int[] dMuenzen = {10,5,2,1}; public static void main (String[] args) { try { //String einlesen, und fУМr weitere Berechnung in Int umwandeln, die Umwandlung erfolgt mit parseInt int betrag= 0; String eingabe = readWord(); betrag = new Integer(Integer.parseInt(eingabe.substring(0, eingabe.length()-1))); //der Betrag muss groesser als 0 und kleiner oder gleich 10Mio sein,und muss mit D oder C enden if ((betrag > 0) & (betrag <= 10000000)) { if (eingabe.endsWith("D")) println(berechnen(betrag,dScheine,dMuenzen)); else if (eingabe.endsWith("C")) println(berechnen(betrag,cScheine,cMuenzen)); else println("FALSCHE EINGABE"); } else println("FALSCHE EINGABE"); } catch (Exception e) { println("FALSCHE EINGABE"); } } public static String berechnen(int betrag,int[] scheine, int[] muenzen) { int langeS = scheine.length; int langeM = muenzen.length; String ausgabeS = "S"; String ausgabeM = "M"; String ausgabe = ""; boolean scheinevorhanden = false; boolean muenzenvorhanden = false; //Berechnung fuer die Scheine for(int pos=0; pos < langeS; pos++) { int anzahl = betrag/scheine[pos]; betrag = betrag%scheine[pos]; if (anzahl!= 0){ scheinevorhanden = true; String teilstring = ( " " + scheine[pos] + " " + anzahl); ausgabeS = ausgabeS + teilstring; } } //Berechnung fУМr die Muenzen for(int pos=0; pos < langeM; pos++) { int anzahl = betrag/muenzen[pos]; betrag = betrag%muenzen[pos]; if (anzahl!= 0) { muenzenvorhanden = true; String teilstring = ( " " + muenzen[pos] + " " + anzahl); ausgabeM = ausgabeM + teilstring; } } //dementsprechende Ausgabe if ((scheinevorhanden)&(muenzenvorhanden)){ ausgabe = ausgabeS + " " + ausgabeM; } else if (!muenzenvorhanden) { ausgabe = ausgabeS; } else { ausgabe = ausgabeM; } //ausgabe wird an die Main-Methode uebergeben return(ausgabe); } } 3178/10652/Money2.txt0100644000113000011500000000222510161513147013367 0ustar prippripeadmBeispiel: 1132 Geldberechnung Autor: Hudl Milena Matr.Nr: 0261242 Datum: 15.12.2004 Source: Money2.java Beschreibung: Eing Geldbetrag wird eingelesen und auf Scheine und Muenzen aufgeteilt Beschreibung: Zuerst werden die Scheine und Muenzen entsprechend der WУЄhrung eingelesen. Danach wird die Eingabe eingelesen und mit substring() wird die letzte Stelle abgeschnitten und an parseInt uebergeben. In diesem Fall ist es der Buchstabe C oder D. Da das parsen der eingabe innerhalb eines try {} Blockes steht, werden alle eingaben abgefangen, die mehr als ein nicht-ziffer-zeichen enthalten.Dann liefert naemlich parseInt() keinen Wert zurueck ung der Betrag bleibt auf 0 und in den folgenden if-anweisung wird das dann als fehlerhaft interpretiert. Berechnen: Die Berechnung enthaelt nur zwei Rechenschritte.Das ist 1. die Division und 2.Modulo Rechnung.Diese Funktion ist in den for-Schleifen ersichtlich. Das die Ausgabe der Aufgabenstellung entspricht, muss ueberprueft werden ob muenzen oder scheine, oder beide vorhanden sind. Das habe ich mit boolean gelУЖst. Mit der if-Schleife am Ende werden noch die Bedingungen deklariert und dementsprechend ausgegeben. 3178/10652/Money2.html0100644000113000011500000001136310161513147013517 0ustar prippripeadm EPROG-LU - Aufgabe 1132 (Geldberechnung)

1132 Money2 Geldberechnung
Kategorie:String
Klasse:schwer
Eingabe:String
Ausgabe:siehe Spez
Abzugebende Files: Money2.txt, Money2.java

Kurzbeschreibung:

Eine Geldbetrag soll eingelesen werden und auf Scheine und Münzen aufgeteilt werden.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie einen String ein, der einen Geldbetrag sowie eines der (fiktiven) Währungskennzeichen C und D enthält.

In diesen fiktiven Währungen gibt es folgende Scheine und Münzen:

C = Scheine (2,10,50,100,500,800) Münzen (1,5)
D = Scheine (4,20,50,100,400) Münzen (1,2,5,10)

Der Geldbetrag soll nun auf möglichst wenige (->große) Scheine aufgeteilt werden; Münzen dürfen erst dann genommen werden, wenn man mit Scheinen nicht mehr weiterkommt. Auch hier sollen es möglichst wenige Münzen sein.

Eingabedaten:

Lesen Sie einen String ein, der einen Geldbetrag und am Ende einen der Buchstaben "C" oder "D" enthält. Es dürfen nur Ziffern sowie die Großbuchstaben C und D im String vorkommen.

Der Geldbetrag muß größer als 0 sein und darf 10000000 (10 Millionen) nicht übersteigen.

Ausgabedaten:

Bei korrekten Eingabesätzen soll Ihr Programm die Aufteilung des Betrages in Scheine und Münzen liefern. Geben Sie dazu ein "S" aus, danach in nach Betrag absteigender Reihenfolge den Nennwert des Scheines und die Anzahl der notwendigen Scheine dieser Größe.

Ebenso verfahren Sie mit den Münzen: Geben Sie ein "M" aus und danach Nennwert und Anzahl der benötigten Münzen.

Wenn überhaupt keine Scheine bzw. Münzen notwendig sind, so geben Sie auch kein "S" bzw. "M" aus.

Trennen Sie die einzelnen Teile der Ausgabe durch Leerzeichen und geben Sie am Ende einen Zeilenvorschub aus.

Fehlerbehandlung:

Bei fehlerhaften Eingabestrings geben Sie die Meldung "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, aus.

Beispiele:

Eingabedaten
1253D

31402C

Ausgabedaten
S 400 3 50 1 M 2 1 1 1

S 800 39 100 2 2 1


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Money2 < Money2.i1 > Money2.out1

Das erzeugte File Money2.out1 können Sie dann mit dem mitgelieferten Outputfile Money2.o1 vergleichen.

Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif