Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo Leute,

ich soll ein C-Programm zur Primfaktorzerlegung schreiben, wobei das Programm nicht nur eine einzige Zahl zerlegen soll, sondern einen ganzen Zahlenbreich, der durch die Eingabe von 2 Ziffern gekenntzeichnet werden soll.

Leider klappt das bei mir nicht, das Programm zerlegt mir einfach immer nur den ersten Wert, weil ich es ehrlich gestanden nicht besser hinkriege, ich weiß einfach nicht was ich machen muss, damit es den ganzen Bereich zerlegt =(

Noch als Warnung, ich programmiere erst seit kurzem, also verzeiht falls was noch nicht richtig verschachtelt und deshalb unübersichtlich etc ist.....

Hier das bisherige Programm:

#include <stdio.h>

#include <math.h>

int main(){

int z1, z2;

int i;

int j;

printf("Bitte geben sie einen Zahlbereich mit Hilfe von 2 Ziffern an.\n\n");

printf("Geben sie die erste Zahl ein.\n");

scanf("%i", &z1);

printf("Geben sie die zweite Zahl ein.\n");

scanf("%i", &z2);

if (z1>z2)

{

printf("Ungueltige Eingabe!\n");

}

else

{

for(j=z1; j<=z2; j++)

{

i = 2;

int multiplikation = 0;

while (z1!= 1)

{

while ((z1%i != 0)&&(i<=z1))

{

i++;

}

if(multiplikation != 0)

printf("*");

if(i > z1)

{

printf("%d", z1);

z1 = 1;

break;

}

z1 = z1 / i;

printf("%i", i);

multiplikation = 1;

}

}

}

printf("\n");

return 0;

}

Ich wäre über jede Hilfe überaus dankbar, ich muss das bis morgen haben und wenn ich die ganze Nacht dran sitzen muss....

glg

PS: Ach ja, das Programm das nur eine Zahl zerlegt und funzt sieht im übrigen so aus, falls es denn was hilft:

#include <stdio.h>

#include <math.h>

int main (void){

int n,i;

printf("Geben sie eine natuerliche Zahl fuer die Primfaktorzerlegung ein.\n");

scanf("%d", &n);

if (n<=1)

{

printf("Die Zahl darf nicht kleiner gleich 1 sein!\n");

}

else

{

i = 2;

int multiplikation = 0;

while (n != 1)

{

while ((n%i != 0)&&(i<=n))

{

i++;

}

if(multiplikation != 0)

printf("*");

if(i > n)

{

printf("%d", n);

n = 1;

break;

}

n = n / i;

printf("%i", i);

multiplikation = 1;

}

}

printf("\n");

return 0;

}

Bearbeitet von freak13

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...