Anfaenger hat Problem bei sienem Code...



  • Hi, hab ein Programm geschrieben, mit dem man den ggT von beliebig vielen Zahlen ausrechnen kann.

    Beim compillieren hat er nicht gemeckert, aber das Programm wird immer
    mittendrin beendet. 😞 (Bin echter Anfaenger und hab eigentlich kein plan vom malloc etc...Oo)

    trotzdem wäre es nett, wenn ihr mir sagen könntet, wo im folgenden code der fehler ist: THX!

    #include<stdio.h>
    #include<stdlib.h>
    
    int gcd(int, int);
    
    int main()
    {
       int Glieder = 0;
    
       system("cls");
       printf("Anzahl der Glieder?: ");
       scanf("%i",&Glieder);
    
       int *ptr;
       ptr = (int*)malloc(Glieder*sizeof(int));
    
       //Eingabe der Glieder
       for (int a = 0; a < Glieder; a++)
       {
          printf("Geben sie das %d. Glied ein: ", a+1);
          scanf("%i", ptr[a]);
          fflush(stdin);
       }
    
       //Suche des "greatest common divisor"
       for (int b = 1; b < Glieder; b++)
       {
          ptr[b] = gcd(ptr[b-1], ptr[b]);
       }
    
       printf("gcd: %d", ptr[Glieder-1]);
       system("pause");
    }
    
    int gcd(int min, int max)
    {
       int Rest = 1;
       while( Rest > 0 ) 
       { // solange ein Rest existiert
         Rest = max % min;
         max = min;
         min = Rest;
       }
       return max;
    }
    

    cu....



  • Hi,

    mach mal so hier

    for (int a = 0; a < Glieder; a++)
       {
          printf("Geben sie das %d. Glied ein: ", a+1);
          scanf("%i", &ptr[a]); //den adressoperator nicht vergessen, oder ptr+a 
          fflush(stdin);
       }
    


  • 😃 das kommt hart 😃

    funzt jetz....thx ^^

    cu...


Anmelden zum Antworten