URL: https://www.overclockers.at/coding-stuff/c_primzahlen_58535/page_1 - zur Vollversion wechseln!
Code:#include "stdio.h" void main(void) { int i1,i2,ist_primzahl; char W=1,F=0; for(i1=1;i1<=100;i1++) {//ist i1 eine primzahl ? ist_primzahl = W; if (i1==1) ist_primzahl=F; for(i2=2;i2<i1;i2++) { // ist i1 durch i2 teilbar ? if ((i1/i2)*i2==i1) ist_primzahl=F; } if (ist_primzahl==W)printf("*"); else printf(" "); printf("%d, ",i1); } }
....
naja ich glaub so schwer ist das net
int[] main(int anzahl){
...
int[] primzahlen = new int[anzahl]
...
dann in der for schleife noch statt 100 anzahl
und statt der ausgabe einfach
primzahlen[i] = i1;
und ganz unten
return primzahlen;
aber sicher bin ich net da ich mehr java mach und c++ eigentlich garnet 
mhm willst du die primzahlen also ausrechnen lassen?? wenns nur bis hundert is kann ichs dir helfen.. aber desto weiter rauf desto mehr rechenzeit.. ich weis ned ob des sinnvoll ist.. aber gib mir bescheid ich kann dir da sicher helfen
aja ich würd statt dem wahr falsch chars gleich einfach einen boolean primzahl verwenden
@moidasch naja ich nehm kaum an das er es für irgendwas wichtiges braucht ist wohl eher eine aufgabe. Sonst würde er sicher auf die vorhandenen math methoden zurückgreifen
#include <math.h>
... naja ich weis ned des zu berechnen is eh fast unmöglich wenn des große sein sollen.. wenn ned selber ausrechnen und reinschreiben
hehe
ganz effizient jedesmal die methode aufrufen und bis zur gewünschten stelle rechnen
.
Dann kann man dem kunden auch gleich an neuen server verkaufen 
statt dem teil:
machst ein:Code:if (ist_primzahl==W)printf("*"); else printf(" ");
Code:int array[100]; int count=0; if (ist_primzahl==W) { array[count] = i1; count++; }
@Neo ... irgendwie ist das ein blödsinn ... er gibt mir jede zahl aus ... aber er macht keinen stern zu den prim zahlen ....
kann das mal wer nachchecken? ....
Code: PHP#include "stdio.h" //anzahl ist wieviele primzahlen du haben willst int[] main(int anzahl){ int i1,i2; boolean primzahl = false; int[] array = new array[anzahl]; for(i1=1;i1<=anzahl;i1++){ //ist i1 eine primzahl ? if (i1==1) primzahl=false; for(i2=2;i2<i1;i2++){ // ist i1 durch i2 teilbar ? if ((i1/i2)*i2==i1) primzahl=false; else primzahl=true; } //Primzahl if (primzahl) array[i] = i1; } return array; }

Zitat von BobbyPIZitat von starfucker25m![]()
was machst denn dann mit dem vga kabel! das müsste dann ja auch so lang sein bei tombs idee!
crashman> wenn man keine dynamischen arrays braucht oder es sonst keine gründe für dynamischen speicher gibt, würde ich arrays genauso anlegen wie in C, also mit
int ergebnis[100];
int ergebnisindex=0;
bei einer gefundenen primzahl:
ergebnis[ergebnisindex++]=neueprimzahl;
warnung:
return ergebnis; // liefert nur den pointer auf das array, da dieses am stack liegt(zumindest bei der definition wie oben) ist es hinterher ungültig.
ausserdem kann man bei main() sowieso nur einen int als returncode ans OS zurückgeben.
andere frage: nachdem der thread "C++ primzahlen" heißt... sollte da nicht irgendeine objektorientierte implemntation her ?
aja, noch eine verbesserung:
sobald ein teiler i2 zu i1 gefunden worden ist, brauchst du nicht mehr weitersuchen und kannst die innere schleife abbrechen.
im moment durchläuft dein programm ja die innere schleife 5000 mal!
ok leute ... sorry ... es muss kein c++ sein ... es reicht normales c ... ich red immer von c++ dabei ist es nur normales c ... sorry
also könntet ihr das mal so machen das es passt?
Es soll halt bei jeder Primzahl ein Stern sein ... und bei zahlen wo keine ist ... halt gar nix ....
selber coden? 
du hast die anderen fragen nicht beantwortet... bist du sicher daß dein lehrer(?) genau diesen algorithmus meint, und nicht das Sieb des Eratosthenes ?
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026