Feld mit zufälligen double zahlen befüllen



  • Hallo,

    ich habe folgende aufgabenstellung:

    Gegeben ist ein zweidimensionales Feld der Groesse n*n (2<=n<=6). Es ist ein Programm zu erstellen, das:
    In einer Funktion eingabe() n einliest und die einzelnen Feldelemente mit double Zufallszahlen zwischen 30.00 und 299.99 beschreibt. n ist dabei als Rückgabewert zurückzuliefern. Gib das Feld anschliesend in einer Funktion ausgabe() aus......

    dazu habe ich folgenden Code geschrieben:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #define MAX 6
    int eingabe(int feld[][MAX]);
    void ausgabe(int feld[][MAX],size_t dim);
    
    int main()
    {
        int dim;
        double feld[MAX][MAX];
        dim=eingabe(feld);
        ausgabe(feld,dim);
        return 0;
    }
    
    int eingabe(int feld[][MAX])
    {
        int dim=0;
        while(dim<2||dim>6)
        {
            printf("Geben sie die Anzahl der Feldelemente >=2 und <=6 ein\n");
            scanf("%d",&dim);
        }
        srand(time(NULL));
        int i,x;
        for(i=0; i<dim; i++)
        {
            for(x=0; x<dim; x++)
            {
                int randZ=(rand()%27000)+3000;
    
                feld[i][x]=randZ/100.0;
            }
        }
        return dim;
    }
    
    void ausgabe(int feld[][MAX],size_t dim)
    {
        int x,y;
        for(x=0; x<dim; x++)
        {
            printf("\n");
            for(y=0; y<dim; y++)
            {
                printf("%5.2f",feld[x][y]);
            }
        }
    }
    

    Und obwohl das eigentlich nicht so schwer sein sollte wird für jedes Feldelement nur 0.00 ausgegebn und ich habe keine Ahnung wieso:-(
    Was mache ich falsch?

    Danke, Grüße Fleckdalm

    Edit: die Code tags scheinen aus irgendeinem Grund nicht zu funktionieren ich weiß nur nicht wieso...
    Edit2: jetzt funktionieren sie!



  • Du kannst es ja editieren: das Zeichen zum schließen des Tags ist nicht / (slash) sondern \ (Backslash)
    Du kannst auch den Code markieren und auf den C/C++ Button unter den 🙂 😃 klicken.

    Und nimm cpp statt code. Dann wird es schön bunt.

    Dann kann man sich den Code auch mal ansehen.



  • So die Tags haben jetzt funktioniert;-)



  • Du solltest dein Feld als float oder double definieren (und nicht als int).
    ⚠ Auch in den Funktionen!



  • Oh Danke jetzt funktioniert es! 🙂
    Das hatte ich ganz vergessen habe bis jetzt eigentlich immer nur int felder benutzt und deshalb aus versehen in den Funktionen int statt double geschrieben;-)


Anmelden zum Antworten