Hilfe für eine Arbeit

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von GenO37, 5. November 2005 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 5. November 2005
    hi
    also ich schreibe demnächst eine arbeit über C++.
    wir haben gerade damit angefangen, deswegen wirds wohl nicht so schwer werden...
    aber ich blick da kein meter durch...
    könnte mir vll. jemand helfen und mir auf die schnelle 3 programme programieren, damit ich nochmal den quellcode angucken kann und hoffe es so besser zu verstehen.
    (alles programme im dos fenster
    1. ein programm, dass wenn man es startet diese form ausgibt:
    ####### ​
    #####​
    ###​
    #​

    2. ein programm das berechnet wieviele reiskörner auf einem schachbrett liegen (jeweils auf dem nächsten feld das doppelte; 1=1, 2=2, 3=4 etc, und wenn je 200 reiskörner 1g wiegen, wieviele tonnen das wären.

    3. ein programm, dass die zahlen so ausgibt (mit vareabelen anfangswerten): bsp:
    anfangswerte: 2 und 3:
    5, 8, 13, 21, 34, 55 etc...
    (ich denke die logik hat jeder verstanden

    Wär Super wenn das jemand machen würde, dieprogramme sind ja net lang
    THX schon mal
     

  2. Anzeige
  3. #2 6. November 2005
    Hi,

    hab dir mal die Programme geschrieben. Sind vieleicht nicht ganz sauber gecodet, sollten aber alle ihren Zweck erfüllen.

    Prog 1:

    Code:
    # include <iostream>
    
    using namespace std;
    
    void main ()
    {
     int anzahlZeichen = 7;
     int einruecken = 0;
     for (int zeile = 0; zeile < 4; zeile++)
     {
     
     for (int temp = einruecken; temp >0; temp--)
     cout << " ";
     for (int zeichen = anzahlZeichen; zeichen > 0; zeichen--)
     {
     cout << "#";
     }
     anzahlZeichen-=2;
     cout << endl<<endl;
     einruecken++;
     }
    
     system("Pause");
    }
    

    Prog2:

    Code:
    # include <iostream>
    
    using namespace std;
    
    void main()
    {
     unsigned int ergebnis = 0;
     double gewicht = 0;
     int tempergebnis = 0;
    
     for (int i = 0; i<64;i++)
     {
     if (i == 0)
     tempergebnis = 1;
     else 
     {
     tempergebnis *=2;
     }
     
     ergebnis= (ergebnis*1.0)+tempergebnis;
     }
    
     cout << "Es liegen " << ergebnis << " Reiskoerner auf dem Spielfeld."<<endl;
     gewicht = (ergebnis*0.1)/200;
     gewicht = gewicht/1000000;
     cout << "Die Koerner wiegen " << gewicht << " Tonnen."<<endl;
    
     system("Pause");
    }
    
    Hier ist nur das Problem das die Zahlen zu groß werden und ich nicht weiß in welchen Datentyp ich die schreiben kann. Vieleicht kann da jemand anderes helfen. Habs schon mit unsigned long int etc. versucht aber ab Feld 31 steigen alle aus X(


    Prog3:

    Code:
    #include <iostream>
    
    using namespace std;
    
    void main()
    {
     int wert1 = 0;
     int wert2 = 0;
     int laenge = 0;
     cout << "Bitte geben Sie den ersten Wert der Reihe ein: ";
     cin >> wert1;
     cout << endl << "Bitte geben Sie den zweiten Wert der Reihe ein: ";
     cin >> wert2;
     cout << endl<<"Bitte geben Sie die laenge der Reihe ein: ";
     cin >> laenge;
    
    
     int temp1 = wert1;
     int temp2 = wert2;
     int ergebnis = wert1+wert2;
     for (int i = 0; i < laenge; i++)
     {
     cout << ergebnis << " ";
     temp1 = temp2;
     temp2 = ergebnis;
     ergebnis= temp1+temp2;
     }
     cout << endl; 
     system("Pause");
    }
    
    Hoffe das sie das machen was sie sollen und ich nichts falsch verstanden hab.

    Ne gute Bewertung wäre nice, denn ist doch schon ein "bisschen" Arbeit.

    Hoffe du steigst da durch, denn auf Kommentare hatte ich jetzt keine Lust.

    Mfg
    Sinus2K

    PS: Viel Erfolg bei deiner Klausur.
     
  4. #3 6. November 2005
    Probiers mal mit "long double" - 12 Bytes groß
     
  5. #4 6. November 2005
    hab ich auch schon getestet...ich weiss nicht was man noch nehmen soll, aber es muss irgendwie gehen.
     
  6. #5 6. November 2005
    Wie?? Mit long double gehts auch net? (o_O)
     
  7. #6 6. November 2005
    nein, das ist ja gerade das komische. Deswegen weiss ich auch nicht mehr wo man es noch speichern kann. Eventuell könnte man das Ergebnis auf 2 ints verteilen. Das kann aber dann Gen037 selber testen.
     
  8. #7 7. November 2005
    funzt mit unsigned int!
     
  9. #8 7. November 2005
    thx ich probiers mal aus hast mir sehr geholfen :D *10er*

    super funzte alles prima musste nur ein paar sachen umschreiben und
    <conio.h> einfügen damit ich getch() machen konnte aber sonst super :)
     
  10. #9 7. November 2005
    Hi,

    also mit unsigned int geht es nur bis Feld 31...danach wird der Wert nicht mehr größer. Hab das gerade mit Testausgabe getestet.

    Mfg
    Sinus2K
     
  11. #10 7. November 2005
    ich hab diese unsigned zeile ganz weggelassen ;)
    benutze borland C++ 5.02 und es funzt super :D
     
  12. #11 9. November 2005
    ----> __uint64

    Die Variable entspricht einem unsigned int auf einem 64-bit Prozessor System. Nach neuem C++ Standard nennt sich dieser Ganzzahlen Datentyp unsigned long long und ermöglicht die Speicherung von 8 Byte Ganzzahlen zwischen 0 bis 18446744073709551615 !
     

  13. Videos zum Thema
Die Seite wird geladen...