Uebungsaufgabe 5, S. 9, BG 525

Algorithmus, Baumdurchlauf, Compiler, Interpreter...; Cobol, Pascal, C/C++, Java & Co.
Antworten
Benutzeravatar
Ralf Thesing
Site Admin
Site Admin
Beiträge: 342
Registriert: 24.02.02 21:46
Wohnort: Muensterland/Deutschland
Kontaktdaten:

Hallo,

wer kann mir sagen, wie die Uebungsaufgabe 5 auf S. 9
in BG 525 zu loesen ist?

Wie kann ich argv[1] in eine Ganzzahl umwandeln?

Code: Alles auswählen

#include <iostream.h>
#include <limits.h>
#define anfang 1
#define ende   LONG_LONG_MAX

int main(void) { 

 unsigned long long int zahl;
 bool primzahl; 
 
 for(zahl = anfang; zahl <= ende; zahl++) {

  primzahl=true;

  if (zahl <= 1)                   
    primzahl=false;

  for(int i = 2; i < zahl; i++) { 
   if ((zahl/i)*i==zahl)         
     primzahl=false;
  } 

  cout << "\'" << zahl << "\' ist ";
  if (primzahl == false) 
    cout << "k";
  cout << "eine Primzahl." << endl;

 }

return 0; 
} 

Ralf
Zuletzt geändert von Ralf Thesing am 10.11.02 20:54, insgesamt 1-mal geändert.
Benutzeravatar
Ralf Thesing
Site Admin
Site Admin
Beiträge: 342
Registriert: 24.02.02 21:46
Wohnort: Muensterland/Deutschland
Kontaktdaten:

Ralf Thesing hat geschrieben: Wie kann ich argv[1] in eine Ganzzahl umwandeln?
Naja, habe jetzt auch gesehen, dass die Loesungen der
Uebungsaufgaben im Anhang stehen. :)

Also: mit atoi(argv) ist es moeglich.

Code: Alles auswählen

#include <iostream.h> 
#include <cstdlib>

int main(int argc, char *argv[]) { 

unsigned long long int zahl; 
bool primzahl; 

if (argc != 3 || (atoi(argv[1]) > atoi(argv[2]))) {
    cout << "Aufruf  : " << argv[0] << " [von] [bis] "<< endl;
    cout << "          (von < bis)" << endl;
} else {

    for(zahl = atoi(argv[1]); zahl <= atoi(argv[2]); zahl++) { 

      primzahl=true; 

      if (zahl <= 1)                    
          primzahl=false; 

      for(int i = 2; i < zahl; i++) { 
         if ((zahl/i)*i==zahl)          
             primzahl=false; 
      } 

      cout << "\'" << zahl << "\' ist "; 
      if (primzahl == false) 
          cout << "k"; 
      cout << "eine Primzahl." << endl; 

    } 
} 

return 0; 

} 
Ralf
Antworten