Wieso kann ich das hier nicht ausführen ?

Dieses Thema Wieso kann ich das hier nicht ausführen ? im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Game12, 5. Feb. 2006.

Thema: Wieso kann ich das hier nicht ausführen ? #include <iostream> #include <math.h> using namespace std; int main () { double ergebnis; double...

  1. Code:
    #include <iostream>
    #include <math.h>
    using namespace std;
    
    int main ()
    {
    
     double ergebnis;
     double gerundetesergebnis;
     for(double zahln=3.0;zahl <=10.0;zahl=zahl+1.0)
     {
      for(double teiler =2.0;teiler <= zahl;teiler=teiler+1.0)
      {
       if(teiler==zahl)
       {
        cout << zahl << endl;
        continue;
       }
       ergebnis = zahl / teiler;
       gerundetesergebnis=floor(ergebnis);
    
       if(ergebnis==gerundetesergebnis)
       {
        continue;
       }
      }
     }
     return 0;
    }
    
    oder wie kann ich den Fehler beheben ?

    das Programm soll alle Primganzzahlen zwischen 3.0 und 10.0 auflisten...
     
  2. Ist das beabsichtigt von dir? ;)
     
  3. nein aber das ist nicht der fehler
     
  4. wenn ich das programm mit Borland starten will stürtzt Borland ersteinmal ab und in Ms Visual C++ 6.0 kommt eine meldung :

    Programm kann nicht ausgeführt werden ...???
     
  5. falls es jemand weiter bringt :

    Code:
    1
    CLS
    INPUT Anfang (Max. 32767) :, b
    IF b <= 0 THEN END
    IF b <> CINT(b) THEN END
    INPUT Maximum (Max. 32767) :, v
    IF v <= b THEN END
    IF v <> CINT(v) THEN END
    
    
    x = b
    a = 0
    y = 2
    10  IF x = v THEN GOTO 50
      
      
    30 y = 2
    35 IF y < x THEN GOTO 20 ELSE PRINT x: a = a + 1: c = x: e = 0: GOTO 40
    36
    20  z = x / y
      z = CINT(z)
    
    
      IF x / y = z THEN e = 1: GOTO 40
    
    
      y = y + 1
    
    GOTO 35
    
    40
     IF a = 1 THEN IF e = 0 THEN d = x
      
      
      
      
      
      
      
      
      
      
      
       x = x + 1
       GOTO 10
    
    
      
    50 PRINT 
      PRINT  ===========================================================================
      PRINT   erste gepr￾üfte Zahl   :; b
      PRINT   letzte gepr￾üfte Zahl   :; v
      PRINT   gepr￾üfte Zahlen     :; v - b
      PRINT 
      PRINT   gefundene Primzahlen   :; a
      PRINT   letzte gefundene Primzahl:; c
      PRINT   erste gefundene Primzahl :; d
      PRINT  ===========================================================================
    
    i$ = INPUT$(1)
    
    
    
    
    
    
    GOTO 1
    
    END
    
    
    
     
  6. Wenn ich den Code den du am Anfang gepostet hast verbesser (also das n weg mache) und ihn dann mit Dev-C++ compiliere funktioniert das Programm, es gibt die Priemzahlen aus. ???
     
  7. in dev-c++ gibt das programm bei mir alle zahlen bis 10 aus .
     
  8. if(ergebnis==gerundetesergebnis)
      break;

    BTW: Du kannst auch den Modulo-Operator (%) verwenden (statt mit Fließkommazahlen zu arbeiten).
    a%b
    Wenn die Division a/b aufgeht, ist der Ausdruck= 0.
     
  9. DANKE!

    Ich hab mich so geärgert :mad: , weil mein Programm wegen 1 einzigen Syntaxverwechslung gleich so schlimme Fehler macht , aber was solls ,Danke

    edit :

    ich glaube mit diesem programm hat sich die Varible: HöchstePrimzahlDieIchKenne stark vergrößert ;D

    Code:
    #include <iostream>
    #include <math.h>
    using namespace std;
    
    int main ()
    {
     long max,start;
    
     cout<< Start:;
     cin >> start;
     cout <<Max :;
     cin >> max;
    
     long gerundetesergebnis;
     for(long zahl=start;zahl <=max;zahl++)
     {
      for(long teiler =2;teiler <= zahl;teiler++)
      {
       if(teiler==zahl)
       {
        cout << zahl << endl;
        continue;
       }
    
    
    
       if((zahl%teiler)==0)
       {
         break;
       }
      }
     }
     cin.get();
     return 0;
    }
    
     
  10. Die neue Version Deines Programms ist deutlich schneller als die alte. Man könnte vielleicht noch ein bischen optimieren - ohne die Methode grundsätzlich zu verändern - indem man ausnutzt, dass nur jede 2. Zahl (wenn man mit einer ungeraden Zahl >2 anfängt) überhaupt eine Primzahl sein kann und außerdem die innere Schleife nur bis maximal Wurzel(zahl) laufen lässt. So in der Art:

    Code:
    void prim(int start, int end) {
    
      if(start <= 2) {
        cout << 2 << endl;
        start= 3;
      }
    
      if(start%2 == 0)
        start++;
    
      for(int zahl= start; zahl<=end; zahl+=2)
      {
        int maxteiler= (int)sqrt((float)zahl);
        bool prim= true;
        for(int teiler=2; teiler<=maxteiler; teiler++)
        {  
          if(zahl%teiler == 0) {
            prim= false;
            break;
          }
        }
    
        if(prim)
          cout << zahl << endl;
      }
    }
    
     
Die Seite wird geladen...

Wieso kann ich das hier nicht ausführen ? - Ähnliche Themen

Forum Datum
Disketten werden nur auf einem PC (Diskettenlaufwerk) erkannt. Wieso?? Hardware 23. Okt. 2008
kann nichmehr auf Router Site connecte, wieso ? Netzwerk 13. Sep. 2005
Wieso kann ich die CD/DVD Laufwerkenicht mehr benutzen? Windows XP Forum 19. Juni 2005
Wieso kann ich die Resourcen bei deaktiviertem ACPI nicht än Windows XP Forum 26. Nov. 2002
Wieso wird es nicht als Link angezeigt? Windows XP Forum 28. Apr. 2013