Zum Inhalt springen

seto

Mitglieder
  • Gesamte Inhalte

    12
  • Benutzer seit

  • Letzter Besuch

Beiträge von seto

  1. du studierst nicht zufällig in aachen seto? das kommt mir alles bis ins kleinste detail vertraut vor =P

    naja... will dir mal helfen weil ich eigentlich nicht glaube dass es so laufen kann wie du es da auch im letzten post stehen hast. und dazu als tip: lerne unbedingt mit call by reference, pointern und addressplätzen umzugehen sonst bist du da verloren.

    sollte die einfachste art sein denke ich... man kann natürlich die funktion im kopf machen aber aus irgendeinem grund mag das unser prof nicht (welcher mir extrem schleierhaft ist da ich nicht wirklich eine sinnvolle optimierung darin erkennen kann).

    Du hast mich durchschaut :uli

    Du hast recht, da musst ich mehr über die Sache mit Call by reference und Call by Value nachlesen, aber gut das das gesagt hast. Die Augaben lautet das wir NUR die Fehler rausfinden sollen und den Struktur des Programm nicht verändern sollen.....ich mag mein Prof. nicht weil der ..... du weiß schon falls du in meine Gruppe bis......

  2. Ich hab meine Fehler gefunden und hab es alles korregiert und läuft jetzt einwandfrei:

    #include <string>
    #include <iostream>

    using namespace std;

    void zahlen(short z, string zt);

    int main(void)
    {
    string zahlentext;
    short zahl;

    while(1)
    {
    cout << "Zahl = ? ";
    cin >> zahl;
    zahlen(zahl, zahlentext);

    }
    return 0;
    }

    void zahlen(short z, string zt)

    {
    string einer[9] = {"ein","zwei","drei","vier","fuenf","sechs","sieben","acht","neun"};
    string zehner [2] = {"zwanzig","dreissig"};

    if(z == 20)
    {
    zt = zehner[0];
    }

    else if(z == 30)
    {
    zt = zehner[1];
    }

    else if(z>=20 && z<=39)
    {

    zt = einer[(z%10)-1] + "und" + zehner[z/10-2];
    }

    else if(z<20 || z>39)
    {
    zt = "unbekannt";
    }


    cout << z << " = " << zt << endl;

    return ;

    }

    [/PHP]

  3. Ist es auch sinnvoll den Debugger zu benutzen um den Zustand des Programms zur Laufzeit zu kontrollieren??

    ich würde gern dieses C++ Programm in eine Endlosschleife ganze Zahlen Zwischen 20 und 39 von der Tastatur einlesen und in Worten auf dem Bildschirm ausgeben sollen.......

    und außerdem hab ich mein Programm in der Funktion gesuchte Wort aus den Einer- und Zehnerstellen der Zahlen generiert. Die Funktion hab ich auch keinen Rückgabewert........

    aber irgendwie geht es nicht.......

  4. #include <string> 
    #include <iostream>

    using namespace std ;

    void zahlen(short z, string zt)

    {
    string einer[12] = {"ein", "zwei", "drei",
    "vier", "fuenf",
    "sechs", "sieben",
    "acht", "neun"};
    string zehner [1] = {"zwanzig", "dreissig"};

    if(z = 20)
    {
    zt = zehner[0];
    }

    else if(z=30)
    {
    zt = zehner[1];
    }

    else if(z>=12 && z<=39)
    {
    zt = einer[(z%10)-1] + "und" + zehner[z/10-2];
    }
    else if(z<20 && z>39)
    {
    zt = 'unbekannt';
    }

    return zt;

    }


    int main(void)
    {
    string zahlentext;
    short zahl;
    while(l)
    {
    cout << "Zahl = ? ";
    cin >> zahl;
    zahlen(zahl, zahlentext);
    cout << zahl << " = " << zahlentext<<"\n";
    return ;
    } [/PHP]

    So ich hab ein bisschen Ordnung gemacht......aber trotzdem funktioniert es nicht....komisch :(

  5. Ich hab hier was programmiert und der funktioniert nicht...

    ich würde gerne mal wissen wo der Fehler liegt..... bitte makiere was ich in dieser Programm geschrieben auf text DICK und in () rein was richtig wären würde....

    #include <string>
    #include <iostream>
    using namespace std
    void zahlen(short z, string zt);
    int main()
    {
    string zahlentext;
    short zahl;
    while(l)
    cout << "Zahl = ? ";
    cin >> zahl;
    zahlen(zahl, zahlentext);
    cout << zahl << " = " << zahlentext << endl;
    return 0;
    }
    void zahlen(short z, string zt)
    {
    string einer[8] = {"ein", "zwei", "drei",
    "vier", "fuenf",
    "sechs", "sieben",
    "acht", "neun"};
    string zehner [1] = {"zwanzig", "dreissig"};
    if(z = 20)
    zt = zehner[O];
    else if(z=30)
    zt = zehner[1];
    else if(z>=12 && z<=39)
    zt = einer[(z%10)-1] + "und" + zehner[z/10-2];
    else if(z<20 && z>39)
    zt = 'unbekannt';
    return zt;
    }[/PHP]

    Ich weiß nicht wo ich die "Endlos"-schleife einsetzen sollen.

    Im Programm musste normale Weise so Ausehen wenn der gestartet hat:

    [font=Lucida Console][b]

    Zahl = ? 10

    10 = unbekannt

    Zahl = ? 20

    20 = zwanzig

    Zahl = ? 24

    24 = vierundzwanzig

    Zahl = ? 29

    29 = neunundzwanzig

    Zahl = ? 30

    30 = dreissig

    Zahl = ? 37

    37 = siebenunddreissig

    Zahl = ? 40

    40 = unbekannt

    Zahl = ?[/b][/font]

  6. Bei so einem kurzen Programm ist das IMHO nicht notwendig.

    Wenn du übrigens mal die Suchfunktion bemühst, solltest du einen fertigen Code in C finden.

    mein Programm ist fertig, ich weiß ob das so gut ist....

    Ich musst das in C++ Programmieren :-( leider

    int main()
    {
    string text;


    cout<< "Text = ? " ;
    getline(cin,text);

    int b[20]={0} , satzlaenge, wortlaenge=0;
    satzlaenge = (int)text.size();


    for (int i=0;i<=satzlaenge;i++)
    {
    if (text[i]!= ' '&& text [i] !='\0')
    {
    wortlaenge++;
    }
    else
    {
    if (wortlaenge>=20)
    {
    b[19]++;
    }

    else
    {
    b[wortlaenge-1]++;
    }
    wortlaenge=0;
    }

    }

    for(int k=0;k<=19;k++)
    {
    if(b[k]!=0)
    {
    cout<<k+1<<" ";

    for(int l=1;l<=b[k];l++)
    {
    cout<<"#";
    }
    cout<<endl;
    }
    }
    return 0;

    }
    [/PHP]

  7. ich habs mal schnell mit perl hingeschludert:

    
    print "\nBitte Text ohne Satzzeichen eingeben: ";
    
    chomp($text = <STDIN>);
    
    
    my $satzlaenge = length($text);
    
    my $wortlaenge = 0;
    
    my $array = 0;
    
    
      for (my $i=0; $i<=$satzlaenge; $i++)
    
      {
    
        if(substr($text, $i, 1) eq " ") 
    
        {
    
          if ($wortlaenge > 20) {
    
            $array[20] ++; }
    
          else {
    
            $array[$wortlaenge] ++; }
    
          $wortlaenge = 0;
    
        }
    
        else {
    
          $wortlaenge ++; }
    
      }
    
    
      if (($wortlaenge - 1) > 20) {
    
        $array[20] ++; }
    
      else {
    
        $array[($wortlaenge - 1)] ++; }
    
    
      print "\n-------------------------------------\n";
    
      for (my $i=1; $i<=20; $i++)
    
      {
    
        if($array[$i] != 0)
    
        { 
    
          print ("$i ");
    
          for (my $k=1; $k<=($array[$i]); $k++) {
    
            print ("#"); }
    
          print ("\n");
    
        }
    
      }
    
      print "-------------------------------------\n";
    
    

    Ich hatte ne blöde frage...ist es nicht besser wenn man unter Programme mache ich meine durch "call by value".

  8. mach eine große schleife, die den ganze langen string durchrödelt. mit einem zähler zählst du die buchstaben, die kommen, bis wieder ein leerzeichen kommt. im zähler steht also jetzt die anzahl der buchstaben. pack jetzt dein array mit dem index "anzahl der buchstaben" und erhöhe den wert des arrays um eins. falls du über 20 kommst, musst du eine kleine abfrage einbauen, die dir im array[20] den wert um eins erhöht. wenn du durch bist, beginne eine neue schleife, die von 1 - 20 zählt, damit du die werte des arrays ausgeben kannst. um gatter (#) zu erzeugen könntest du entweder wieder eine schleife mit verwenden, die bis zum wert des arrayeintrages zählt (array[15) sei zb. 10) und somit dann ########## erzeugt. oder du hast eine funktion, die meinetwegen auf anweisung zehn bestimmte zeichen erzeugt. falls ein arrayeintrag 0 ist, fang es mit einer abfrage ab.

    bist du schüler? oder bist du in der ausbildung?

    Ich bin in der Ausbildung..... dieser Aufgabenstellung weiß ich nicht weil ich leider nicht weil ich die Übung nicht mitgemacht habe, da war ich krank :-( da musste ich diesen Testat machen deswegen brauchte ich Eure erste Hilfe *rotwerd*, ich weiß es ist peinlich das ich euch frage *rotwerd*

  9. Ich hab leider ein Problem bei dieser Programmierung :-(

    einen Text

    von der Tastatur einliest und ein Histogramm der Längen der in diesem Text

    vorkommenden Wörter ausgibt. Ein Wort sei eine Zeichenkette, die kein Leerzeichen

    enthält.

    Wortlängen, die in dem Text nicht vorkommen, sollen im Histogramm nicht dargestellt

    werden. Wörter mit mehr als 20 Buchstaben sollen der Wortlänge 20 zugeordnet

    werden.

    Hinweise:

    - Ein Histogramm ist ein Balkendiagramm, das die Häufigkeitsverteilung einer

    Variablen darstellt. Dazu muss diese zunächst klassifiziert werden. Das

    Histogramm besteht aus mehreren waagerechten Balken, die die Klassen

    repräsentieren. Die Länge der einzelnen Balken ist proportional zu der Häufigkeit der jeweiligen Klasse. Benutzen Sie das ASCII-Zeichen ’#’, um ein

    Balkensegment darzustellen.

    - Es sollen nur Balken angezeigt werden, deren Wert größer als 0 ist, d. h.

    Wortlängen, die im Text nicht vorkommen, werden auch nicht dargestellt. Vor dem Balken ist als Klassenbezeichnung die zugehörige Wortlänge auszugeben.

    - Das Einlesen einer Zeichenkette (mit Leerzeichen) in eine Stringvariable text über die Tastatur ist möglich mit: getline(cin, text);

    - Definieren Sie ein eindimensionales Feld b vom Typ integer mit 20 Elementen

    und initialisieren Sie alle Elemente mit 0: int b[20]={0};

    -Denken Sie daran, dass nach dem letzten Wort normalerweise kein Leerzeichen mehr steht, der letzte Buchstabe des letzten Wortes aber mitgezählt werden muss!

    Testlauf (Eingaben unterstrichen):

    Text = ? Dies ist ein Beispieltext

    3 ##

    4 #

    12 #

    Drücken Sie eine beliebige Taste . . .

    Es wurden also 2 Wörter mit einer Länge von 3 Buchstaben, 1 Wort mit 4 und 1 Wort mit 12 Buchstaben gefunden.

    Wie soll ich diesen aufgabe am besten anfangen , brauche hilfe :-( :eek

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...