Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Primzahlausgabe

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 <
020
24.07.2006, 09:36 Uhr
virtual
Sexiest Bit alive
(Operator)


@pablo
Siehe auch: www.lrz-muenchen.de/~hr/tmp/prim.html

Da wird ziemlich haarklein die Sache beschrieben, u.a. eben auch, daß bis mitte des 19. Jahrhundrts es vollkommen ausser Frage stand, daß 1 eine Primzahl sei.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
24.07.2006, 13:23 Uhr
Rumak18



Wenn man deinen Anweisungen folgt bezüglich :
Zitat:
Du gibts gemessen am Algorithmus den Falschen text aus. Wird es Dir klarer, wenn ich Dir die Ausgabe korrigiere?

C++:
if (ergebnis != 0)
{
printf("%d ist nicht durch %d teilbar\n", zahl, i);
}
else
{
printf("%d ist durch %d teilbar\n", zahl, i);
}

dann ist das Ergebnis ebenfalls ein reines Wirwarr. Zumindest in Kombination mit meinem Quelltext.

C++:
//Primzahlenausgabe

#include <stdio.h>
#include<iostream>
using namespace std;

int i;
int zahl;
int ergebnis;

int main()
{
    for (zahl=1; zahl<=200 ; zahl++)           //Äußere Schleife : Inkremetierung von "Zahl"(Der Dividend der Modulo Division)
    {
        for (i=1; i<zahl; i++)                 //Innere Schleife : Inkremetierung von "i"(Der Divisor der Modula Division)
        {
        ergebnis = zahl % i;
            if (ergebnis != 0)
            {
                printf("Das ist eine Primzahl:%d\n",zahl);
            }
            else
            {
                printf("Das ist keine Primzahl:%d\n",zahl);
            }
        }
    }

}


--
WinXP Pro
Athlon 3200 64
Geforce 6600 GT
HDD320 GB
Visual Basic 6.0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
24.07.2006, 14:24 Uhr
virtual
Sexiest Bit alive
(Operator)


Also, Dein Programm macht genau dann sinn, wenn man die Ausgabetexte von meinen Post 018 Einsetzt. Dann gibt es aus:

Code:
2 ist durch 1 teilbar
3 ist durch 1 teilbar
3 ist nicht durch 2 teilbar
4 ist durch 1 teilbar
4 ist durch 2 teilbar
4 ist nicht durch 3 teilbar
5 ist durch 1 teilbar
5 ist nicht durch 2 teilbar
5 ist nicht durch 3 teilbar
5 ist nicht durch 4 teilbar
6 ist durch 1 teilbar
6 ist durch 2 teilbar
6 ist durch 3 teilbar
6 ist nicht durch 4 teilbar
6 ist nicht durch 5 teilbar
7 ist durch 1 teilbar
...



Diese Aussagen sind inhaltlich korrekt. Nur eben macht Dein Programm was anderes als Du erwartest: eigentlich willst Du Primzahlen berechnen. Nach allem, was du bisher in diesem Thread dazu gelesen hast, sollte es Dir eigentlich nicht entgangen sein, daß Du einfach
1. die Ausgabe aus der inneren Schleife auslagern mußt (incl. des if-Statements)
2. Die Schleife bei 2 beginnen und bei zahl -1 enden lassen musst
3. Im Falle von ergebnis==0 die Schleife umgehend verlassen solltest.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
24.07.2006, 14:40 Uhr
(un)wissender
Niveauwart


@Rumak18
Du hast hier mehrere korrekte Lösungen vorliegen, zwei davon sind deine Version korrigiert. Was hälst du davon, dir diese einfach mal genau anzusehen?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
25.07.2006, 07:46 Uhr
Rumak18



@Unwissender:
Hallo. Ja, das stimmt auch, dass zwei,sogar komplette Lösungen vorliegen und diese auch von mir in VC ausprobiert wurden und funktionieren. Dennoch kann ich doch noch bezüglich meines Unwissens weitere Fragen stellen. Desweiteren möchte ich ja nicht einfach einen Quellcode haben,sondern diesen auch verstehen.

Deshalb nochmal eine konkrete Frage :
Was ist am folgenden Quellcode falsch,damit die Ausgabe richtig ausgegeben wird,da sie beim vorliegenden Quellcode nicht korrekt ist.

C++:
//Primzahlenausgabe

#include <stdio.h>
#include<iostream>
using namespace std;

int i;
int zahl;
int ergebnis;

int main()
{
    for (zahl=1; zahl<=200 ; zahl++)           //Äußere Schleife : Inkremetierung von "Zahl"(Der Dividend der Modulo Division)
    {
        for (i=1; i<zahl; i++)                 //Innere Schleife : Inkremetierung von "i"(Der Divisor der Modula Division)
        {
        ergebnis = zahl % i;
        }
             if (ergebnis != 0)
            {
            printf("%d ist nicht durch %d teilbar\n", zahl, i);
            }
            else
            {
            printf("%d ist durch %d teilbar\n", zahl, i);
            }
            
        
    }

}


--
WinXP Pro
Athlon 3200 64
Geforce 6600 GT
HDD320 GB
Visual Basic 6.0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
25.07.2006, 10:09 Uhr
(un)wissender
Niveauwart


Ehrlich, liest du die Posts?
virtual hat das gerade ausführlich beantwortet, ich habe vorher schon den Code berichtigt. Es ist alles da was du brauchst, mehr kann hier nicht kommen, es wäre nur Wiederholung.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
25.07.2006, 10:12 Uhr
virtual
Sexiest Bit alive
(Operator)


i resign - you win.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
25.07.2006, 11:17 Uhr
(un)wissender
Niveauwart


Gewinnen ist nur eine Frage des Standpunktes....
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
25.07.2006, 12:11 Uhr
Rumak18




Zitat:
Ehrlich, liest du die Posts?
Ja
--
WinXP Pro
Athlon 3200 64
Geforce 6600 GT
HDD320 GB
Visual Basic 6.0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
029
25.07.2006, 13:33 Uhr
(un)wissender
Niveauwart


Dann kann ich mir deine Fragen nicht erklären.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ 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: