Quellcode
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Noss___kgV
- {
- class Program
- {
- static bool prim(int max)
- {
- int divisor;
- bool istPZ;
- bool[] primzahl;
- primzahl = new bool[max+1];
- primzahl[1] = false;
- primzahl[2] = true;
- for (int i = 3; i < max; i++)
- {
- istPZ = true;
- for (divisor = 2; divisor <= i - 1; divisor++)
- {
- if (i % divisor == 0)
- {
- istPZ = false;
- }
- if(istPZ)
- {
- primzahl[i] = true;
- }
- }
- }
- return primzahl[max];
- }
- static int primfaktor(bool[] primzahl, int max, int z1, int z2)
- {
- int[] faktoren;
- faktoren = new int[max+1];
- for (int i = 1; i < z1; i++)
- {
- faktoren[i] = 0;
- if (primzahl[i] == true)
- {
- while (z1 % i==0)
- {
- z1 /= i;
- faktoren[i]=faktoren[i]++;
- }
- }
- Console.WriteLine("Zahl: {0}, Anzahl {1}", i, faktoren[i]);
- }
- for (int i = 1; i < z2; i++)
- {
- faktoren[i] = 0;
- if (primzahl[i] == true)
- {
- while (z1 % i==0)
- {
- z1 /= i;
- faktoren[i]++;
- }
- }
- Console.WriteLine("Zahl: {0}, Anzahl {1}", i, faktoren[i]);
- }
- return faktoren[max];
- }
- static int kgV()
- {
- int KGV=0;
- return KGV;
- }
- static int calc(int z1, int z2, int max)
- {
- int kgv;
- bool[] primzahl;
- primzahl = new bool[max+1];
- primzahl[max]=prim(max);
- primfaktor(primzahl, max, z1, z2);
- kgv=kgV();
- return kgv;
- }
- static void Main(string[] args)
- {
- //Variableninit
- char exit;
- int zahl1;
- int zahl2;
- int kgV=0;
- int max;
- //Schleifen und errors
- Console.WriteLine("N_kgV()");
- Console.WriteLine("Berechnung des kleinsten gemeinsamen Vielfachen");
- Console.WriteLine("_____________________________________________________");
- do
- {
- try
- {
- //Mainprog
- //Einlesen
- Console.Write("1.Zahl angeben: ");
- zahl1 = Convert.ToInt32(Console.ReadLine());
- Console.Write("2.Zahl angeben: ");
- zahl2 = Convert.ToInt32(Console.ReadLine());
- //Verarbeiten
- //Max berechnen
- if (zahl1 > zahl2)
- max = zahl1;
- else
- max = zahl2;
- calc(zahl1,zahl2,max);
- //Ausgabe
- Console.WriteLine("Der kgV von {0} und {1} beträgt: {2}", zahl1,zahl2,kgV);
- //Restart?
- Console.WriteLine("Wollen Sie das Programm beenden? (j/J)");
- exit = Char.ToUpper(Convert.ToChar(Console.ReadLine()));
- }
- catch
- {
- //Undefined Error
- Console.WriteLine("Error!!!");
- Console.WriteLine("Fehlercode: 001, Discription: Undefined Error");
- exit = 'J';
- Console.ReadLine();
- }
- } while (exit!='J');
- }
- }
- }
so da hab ich erst mal ne ausgabe gemacht bevor ich zu den berechnen dann komme nur des problem is das ich dann immer bekomme
Zahl i wert 0 etc...
könnt mir vllt. wer helfen?