Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Anfängerhürden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]
010
05.01.2004, 20:34 Uhr
Tommi Bisic



Danke für die Erklärung.Jetzt ist mir mein fehler klar aber bei der Adresse die du mir empfohlen hast kommt ein Befehl vor den ich nicht kenne:

bool isprim(int i)
{
bool prim=true;

Es scheint ein Befehl speziell für Primzahlen zu sein, sehe ich das richtig?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
05.01.2004, 20:36 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das ist eine selber geschriebene funktion.....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
05.01.2004, 20:36 Uhr
Pablo
Supertux
(Operator)


bool ist ein Datentyp, der nur in C++ vorkommt, nicht in C (das gilt für true und false auch).

In C macht man mit int, wobei 0 false entspricht und ein Wert ungleich 0 (meistens benutzt man die 1) true bedeutet.

Also


C++:
int isprim(int i) {
    int prim=1;
    ...



Machst du C oder C++?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 05.01.2004 um 20:37 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
05.01.2004, 20:43 Uhr
Tommi Bisic



Ich arbeite mit C++
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
05.01.2004, 20:51 Uhr
Pablo
Supertux
(Operator)


dann vergiss meinen letzten Beitrag naja, könnte nützlich sein, falls du einmal deine Sorucen in C umwandeln willst
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
05.01.2004, 21:01 Uhr
Tommi Bisic



Ich danke dir trotzdem Pablo.Ich habe jetzt was anderes versucht aber...nunja....hmm...ach, schau es dir doch mal bitte an:

C++:
#include <iostream.h>

void main()
{
    int z,i;
    char c;
    do
    {
        cout<<"Bitte geben sie die Zahl an, die sie untersuchen möchten:"<<endl;
        cin>>z;
        for (i=2;i<z;i++)
        {
            if((z%i)==0)
            {
                cout<<"Es handelt sich um keine Primzahl"<<endl;
            }
            else
            {
                cout<<"Hierbei handelt es sich um eine Primzahl"<<endl;
            }
        }
    cout<<"Wenn sie möchten können sie mit J/j weitermachen"<<endl;
    cin>>c;
    }
    while (c=='j'||c=='J');
}



Leider kommen viele verschiedene Antworten bei der Ausgabe


Bearbeitung von Pablo:

bitte, CPP Tags benutzen


Dieser Post wurde am 05.01.2004 um 21:08 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
05.01.2004, 21:11 Uhr
Pablo
Supertux
(Operator)


Das ist wiederum falsch, da
1. 2 prim ist und als nicht prim behandelt wird
2. 3,5,7 sind nicht gerade, aber prim. 9 ist nicht gerade aber auch nicht prim

Du machst eine For-Schleife, das ist ein guter Ansatz, aber falsch benutzt. Denn du musst prüffen, ob die eingegebene Zahl z durch 2, 3,4,5,6.... z-1 geteilt wird. Wenn z%i, für i=2,...,z-1 stets ungleich 0 dann ist die Zahl prim.

Guck den Algorithmus, denn ich (in meinem Link) gepostet habe, statt cout nehme ich eine Variable und speichere, ob die Zahl immer noch nicht durch i teilbar ist.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 05.01.2004 um 21:13 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
05.01.2004, 21:27 Uhr
Tommi Bisic



Ich habe etwas gefunden:


C++:
    int z,i;
    char c;
    bool bIsPrim;
    do
    {
        cout<<"Bitte geben sie die Zahl an, die sie untersuchen möchten:"<<endl;
        cin>>z;
        bIsPrim=true;
        for (i=2;i<z;i++)
        {
            if((z%i)==0)
            bIsPrim=false;
        }
        if(bIsPrim)
            cout<<"Es handelt sich um eine Primzahl\n";
        else
            cout<<"keine primzahl"<<endl;
        cout<<"Wenn sie möchten können sie mit J/j weitermachen"<<endl;
        cin>>c;
    }
    while (c=='j'||c=='J');
}


Funktioniert auch, nur leider nicht meine eigene Entwicklung wobei ich es doch verstehe bis auf das bool und die Sache mit dem false und true


Bearbeitung von Pablo:

Der Code muss sich innerhalb der [ cpp ] und [ /cpp ] tags befinden


Dieser Post wurde am 05.01.2004 um 21:30 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
05.01.2004, 21:37 Uhr
Pablo
Supertux
(Operator)


bool = boolean value. Boolean bedeutet, dass man nur 2 Sachen hat, deshabl auch der Name binär. Es könnet 0 oder 1 sein, oder true (wahr) oder false (falsch) sein.

Wenn man Aussagen macht, wie der Hund ist groß, kann man dazu immer sagen: wahr oder falsch. Computer verstehen keine "vielleicht, wieso denn nicht?" Antworte. Da gibt es nur wahre oder falsche Aussagen, aber eine "wer weiß" - Aussage gibt es nicht. Der Datentype bool entspricht das, wobei true wahr entspricht und false falsch.

Nun, vor der while Schleife nehmen wir an, dass die Zahl prim ist. Also bIsPrim=true. Wenn aber die Zahl sich teilen lässt, von einer Zahl die nicht 1 oder sich selbst ist, zerstört das unsere Annahme und wiessen wir, dass die Ausgabe "z ist prim" falsch war. Deshalb if (z%i==0) bIsPrim=false;

Nach dem wir die Schleife abgearbeitet haben, prüfen wir ob unsere Annahme wahr oder falsch wahr. if() reagiert nur auf true, das heißt, dass if nur mit wahren Aussagen arbeitet, sonst tritt der Fall "else".
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
05.01.2004, 21:43 Uhr
Tommi Bisic



Vielen Dank Pablo! Hast du sehr gut erklärt (besser als mein Prof)
Ich verstehe das jetzt und sorry wegen den Tags
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: