Hallo paddy,
Dein Problem schein darin zu liegen, dass du nicht in C programmieren kannst, also solltest du dich erst einmal etwas mit dieser Programmiersprache beschäftigen.
Eigentlich sollte es doch ein Handbuch zu C geben …
ja genau so wollte ich das machen ich weiß nur noch nicht
genau wie ich das anstellen soll ich kann mir des nicht so
ganz vorstellen wie das in c++ gehen soll mit der 2 unberührt
lassen und mein versuche jede 2te zahl auf 0 zusetzen ham auch
nicht wirklich funktioniert.
2tens weiß ich nicht genau wie ich es bewerkstelligen soll das
die zahlen 1 bis 500 in den arrays stehn mit dem befehl int
a[500] bestimmte ich ja nur 500 arrays aber die sind nicht
gefüllt
Du definierst nur ein Arry mit 500 Elementen !!
Das ist jetzt einmal ganz unabhängig von der Programmiersprache !
und ich kenne dur die methode a[500]={1,2,3,4,…,500}
aber da müsste ich ja alle zahlen eingeben das is n bisschen
viel. und mit variablen hab ich des auch nicht hinbekommen
naja vielleicht könnte ihr mir ja helfen
int a[500];
void init\_a(void)
{
int i;
for ( i = 0; i
> danke für die hilfe bis jetzt
Allerdings hat diese Lösung noch ein paar Laufzeit-Nachteile:
1. int ist je nach Compiler und CPU 16, 32 oder 64 Bit gross, dein Array benötigt also unter umständen viel Speicherplatz.
2. a[0] = 1 ist un schön, da du dabei immer die +1 in deinem Code hast, insofern wäre a[0] = 0, a[1] = 1 optimaler.
3. Wenn wird dann schon soweit sind, macht es keinen Sinn z.B. a[121] = 121 zu schreiben, du willst ja nur wissen ob 121 eine Primzahl ist oder nicht und dazu benötigst du eigentlich nur ein Bit !!
Also kannst du du das Ganze anders lösen:
#define TRUE 1
#define FALSE 0
char a[500];
void init\_a(void)
{
int i;
for ( i = 0; i
Wenn du dann die entsprechenden Einträge, nach den Regeln, auf FALSE gesetzt hast genügt dann die Abfrage:
if ( a[121] == TRUE ) ......
um zu sehen ob dieser Wert eine Primzahl ist:
for ( i = 0; i
in C entspricht
if ( a[i] )
if ( a[i] != 0 )
MfG Peter(TOO)