Pythagoras 2 dimensional darstellen...

brownsuga

Grünschnabel
Hallo!
ich habe hier ein Code der nicht funktioniert, allerdings weiss ich nicht wieso. DOS fenster schliesst sich bzw. stürzt ab.
Aufgabenstellung war:

Entwickeln sie einen C-Programm um die Pythagoras Daten zweidimensional darzustellen. Anwender soll x und y wert eingeben. Die x Spalte geht von 0 bis zum x-maximalwert in 0,5 stufen. Die y Zeile geht von 0 bis zum y-maximalwert in 0,5 stufen.
Auf dem kreuzungspunkt gilt:
z=wurzel aus (x^2+y^2)

Es soll am Ende so aussehen (Beispiel x=3, y=2)

0,0....0,5....1,0....1,5....2,0
0,5....0,71..1,12..1,58..2,06
1,0...1,12...1,41...1,80...2,24
usw

am x-/y- kreuzungpunkt steht also der zugehörige z wert.

Code:
//Pythagoras

#include <stdio.h>
#include <math.h>
int main ()
{
    double x,y,z;
    
    printf("Maximaler x-Wert:");
    scanf("%lf",x);
    printf("Maximaler y-Wert:");
    scanf("%lf",y);
    printf("y");
    printf("\n");
    for(double y=0.0; y<=2.0; y+=0.5)
    {
        printf("    %0.1lf\t",y);
        }
        printf("\n");
        printf("x");
        printf("\n");
        for (double x=0.0; x<=3.0; x+=0.5)
        {
            printf("%0.1lf",x);
            for (double y=0.0; y<=2.0; y+=0.5)
            {
            z=sqrt(pow(x,2)+pow(y,2));
            printf("    %0.1lf",z);
            }
            printf("\n");
        }
        fflush(stdin);
        getchar();
        return 0;            
    }


Vielen Dank für Eure Hilfe!
 
moin


Zum ersten sollte man Variabeln beim erstellen Werte zuweisen!
Code:
double x=0,y=0,z=0;

Zum zweiten wird scanf anders aufgerufen, wenn du die Variabeln so erstellst wie du es getan hast:
Code:
scanf("%lf",&x);
Also mit &.


mfg
umbrasaxum
 
Danke für die Tipps! Klappt jetzt.
ich habe aber x,y,z die Werte 0 nicht zu gewiesen. Klappt aber trotzdem. Warum sollten die Variablen den Wert 0 zugewiesen am anfang bekommen, obwohl sie später eingeben wird?
 
Zurück