matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAlgorithmen und Datenstruktureneine super schwere Aufgabe.
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
Forum "Algorithmen und Datenstrukturen" - eine super schwere Aufgabe.
eine super schwere Aufgabe. < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

eine super schwere Aufgabe.: Aufgabe
Status: (Frage) beantwortet Status 
Datum: 21:52 Di 20.03.2007
Autor: narutochen

Aufgabe
Gesucht ist ein Algorithmus countNumbers(), der von der Standardeingabe Zeichen einliest und die Häufigkeit für jede eingelesene Ziffer nach Ende des Lesens (EOF) auf die Standardausgabe ausgibt. Zusätzlich soll die Anzahl der Zeichen ausgegeben werden, die keine Ziffern sind und der Anteil Ziffern/Sonstige in Prozent.

Ihr Algorithmus soll zunächst solange Zeichen einlesen, bis keine weiteren mehr vorhanden sind (EOF) und erst im Anschluß die Ausgabe nach untem angegebenen Format vornehmen.
Beispiel 1:
Eingabestrom: erTz3428377ew78991
Ausgabe: 0:0, 1:1, 2:1, 3:2, 4:1, 5:0, 6:0, 7:3, 8:2, 9:2
Sonstige: 6
Anteil Ziffern/Sonstige: 50%
Beispiel 2:
EingabeStrom: 1234567890
Ausgabe: 0:1, 1:1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1
Sonstige: 0
Anteil Ziffern/Sonstige: nur Ziffern
Beachten Sie dabei auch Sonderfälle: z.b. keine sonstigen Zeichen, keine Ziffern, ...

Verdammt die Aufgaben werden immer schwerer.

Hallo Leute!

Ich würde mich freuen, wenn mir da jd. weiter helfen könnte. Habe wieder mal nicht die geringste Ahnung wie man das machen. Programmiersprache soll wieder java sein.

Ich danke für eure Hilfe.

mfg narutochen


        
Bezug
eine super schwere Aufgabe.: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:54 Di 20.03.2007
Autor: viktory_hh

Ich glaube du solltest anfangen selbst zu programmieren.

Wie fängt man an,
Du setzt Dich mit einem Zettel und Bleistifft und gehst erstmal die einzelnen Schritte auf dem Papier durch. Jede detailierter umso verständlicher für dich. Dann schaust du die benötigten Befehle in JAVA im Internet.

Mache Schritt für Schritt.

Die Aufgabe ist aber nicht schwer, einfach umfassend, vielleicht nicht mal das.
Die ist vielleicht schon in einer Stunde zu erledigen.

bis dann

Bezug
        
Bezug
eine super schwere Aufgabe.: String
Status: (Antwort) fertig Status 
Datum: 16:07 Mi 21.03.2007
Autor: comix

Ich würde die Aufgabe ungefährt so angehen:

Erster Teil ist die Eingabe. Ich kann mir das nicht auswendig merken, da muss ich auch nachschauen.
Im Internet hab ich was gefunden: http://home.snafu.de/j.kubiak/lehre/progdemos/eingabe.java
(Hinweis: variable beginnen üblicherweise mit einem Kleinbuchstaben, das ist hier nicht korrekt).

Ergebnis der Eingabe wäre bei mir ein String.

Jetzt kannst Du z.B. eine Klasse schreiben, der übergibst Du den String. Du implementierst dabei verschiedene Methoden, die Dir die gewünschten Informationen liefern.

Schau doch bei den möglichen Stringoperationen nach, dann bekommst Du eine Idee wie Du das machen könntest:

http://java.sun.com/j2se/1.5.0/docs/api/index.html

Dann bleibt noch die Ausgabe.

Bezug
                
Bezug
eine super schwere Aufgabe.: Korrektur
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:45 Do 22.03.2007
Autor: narutochen

Also, zuerst mal danke für deine Antwort. Ich habe jetzt mal die Seiten durchgelesen, die du mir empfohlen hast.

Hier mein Versuch:

int countNumbers(↓int i)
int digit= [0…9]
i = 0
if (readInt !=digit)
writeIn=  1+i
return i

Also wie man den Anteil der Ziffern in Prozent ausgibt habe ich überhaupt keine Ahnung. Und was soll ich mit string anfangen.

würde mi freuen auf eine Korrektur oder die komplette Lösung.

mfg narutochen



Bezug
                        
Bezug
eine super schwere Aufgabe.: Programmieren in Java
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 07:13 Do 22.03.2007
Autor: comix

Du sollst doch ein Programm in Java für dieses Problem schreiben? Es nützt nichts, wenn Du Dir eine Lösung liefern lässt, da lernst Du kaum was. Du musst selber programmieren. Wenn Du mit "String" nichts anfangen kannst, dann musst Du wohl den harten Weg beschreiten und Programmieren lernen.


Bezug
                                
Bezug
eine super schwere Aufgabe.: Mitteilung1
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:59 Do 22.03.2007
Autor: narutochen

hallo,

ja ich versuche eh zu programmieren. nur mit dem Wissen, was ich jetzt habe reicht eben noch nicht aus um diese Aufgaben zu lösen. Und die Aufgaben müssen bis nächste Woche abgegeben werden. Desewegen bin ich dir sehr dankbar, wenn du mir Lösungsvorschläge für die Aufgaben machen könntest.

danke

narutochen


Bezug
                                        
Bezug
eine super schwere Aufgabe.: Vorschlag
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:00 Do 22.03.2007
Autor: comix

Hier sind zwei Klassen.

Die "main"-Klasse:


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class IOMain {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
String zeichenkette;

BufferedReader tastatur = new BufferedReader(new InputStreamReader(System.in));

System.out.print("Eingabestrom: ");
zeichenkette = tastatur.readLine();
StringScan str = new StringScan (zeichenkette);

System.out.print("Ausgabe: " );
System.out.print("0:" + str.getAnzahlChar ('0') + ", ");
System.out.print("1:" + str.getAnzahlChar ('1') + ", ");
System.out.print("2:" + str.getAnzahlChar ('2') + ", ");
System.out.print("3:" + str.getAnzahlChar ('3') + ", ");
System.out.print("4:" + str.getAnzahlChar ('4') + ", ");
System.out.print("5:" + str.getAnzahlChar ('5') + ", ");
System.out.print("6:" + str.getAnzahlChar ('6') + ", ");
System.out.print("7:" + str.getAnzahlChar ('7') + ", ");
System.out.print("8:" + str.getAnzahlChar ('8') + ", ");
System.out.println("9:" + str.getAnzahlChar ('9') );

System.out.println("Sonstige: " + str.getAnzahlNoDigit());
System.out.println("Verhältnis Ziffern/Sonstige: " + str.getVerhaeltnis());
    }

}



und die verwendete StringScan - Klasse:



public class StringScan {
    char [] toScan = null;
    public StringScan (String s) {
toScan = s.toCharArray();
    }

    public int getAnzahlChar (char c) {
int anzahl = 0;
for (int i=0; i<toScan.length; i++) {
    if (toScan[i] == c)
anzahl++;
}
return anzahl;
    }

    public int getAnzahlNoDigit () {
int anzahl = 0;
for (int i=0; i<toScan.length; i++) {
    if (toScan[i] >= '0' && toScan[i] <= '9')
anzahl++;
}
return toScan.length - anzahl;
    }

    public String getVerhaeltnis () {
String v = "" + (toScan.length-getAnzahlNoDigit())*100/toScan.length + "% : "
+ getAnzahlNoDigit()*100/toScan.length + "%" ;
return v;
    }
}



Das kann man sicher noch eleganter machen, aber das hier tuts im Prinzip. Leider übernimmt die ANzeige nicht die Formatierung. Bitte nachformatieren.

Bezug
                                                
Bezug
eine super schwere Aufgabe.: Danke
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:31 Mo 26.03.2007
Autor: narutochen

Hallo,

Vielen Dank für deine Hilfe.

mfg narutochen

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]