Hilfe bei Programmerstellung

Neue Frage »

Auf diesen Beitrag antworten »
only Hilfe bei Programmerstellung

Meine Frage:
Schreiben Sie eine void-Funktion sort3, der drei Zahlen x;y;z e der reelen Zahlen ubergeben werden und die diese Zahlen fallend sortiert ausgibt, d.h. zuerst das Maximum max
{x;y;z}
und zuletzt das Minimum min
{x;y;z}. Schreiben Sie ferner ein aufrufendes Hauptprogramm in dem die Zahlen x;y;z eingelesen und die Funktion aufgerufen werden. Speichern Sie den Source-Code unter sort3.c in das Verzeichnis serie02.

Meine Ideen:
Also viel hab ich ja noch nicht.
Hab zum ersten mal programmieren und dann gleich sowas,
bis jetzt weiß ich mal dass x, y, z double sind
jedoch habe ich keine Ahnung wie ich dabei irgendwas darstelle.
(Ein einfaches sacnf(), printf() programm hab ich schonmal gemacht, aber ich komm hier nicht weiter da ich nicht weiß was zu tun ist)
Bitte um hilfe danke!!

lg
 
Auf diesen Beitrag antworten »
eulerscheZahl

Fangen wir doch mal damit an, dass du das Maximum aus 3 Zahlen berechnest.
int max(int x, int y, int z) { ... }
Wie würdest du hier vorgehen?
Auf diesen Beitrag antworten »
Windows

leider wird in diesem Forum darauf gesetzt,das du die Aufgaben fast selber lösen musst.

Habe ich leider auch in meinem Thread erfahren großes Grinsen

Ich kann dir nur empfehlen den sortier algorithmus zu googeln .

Bubblesort
Auf diesen Beitrag antworten »
Windows

so würde es für 2 zahlen gehen glaub ich.

eulersche zahl kann mich gerne korriegieren:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
void bubblesort(int *array, int length)
 {
     int i, j;
     for (i = 0; i < length - 1; ++i) 
     {

 	for (j = 0; j < length - i - 1; ++j) 
        {
 	    if (array[j] > array[j + 1]) 
            {
 		int tmp = array[j];
 		array[j] = array[j + 1];
 		array[j + 1] = tmp;
 	    }
 	}
     }
 }

 
Auf diesen Beitrag antworten »
eulerscheZahl

@Windows
wir wollen ja auch einen nachhaltigen Lernerfolg. Der Einstieg in ein neues Thema ist immer schwierig. Aber ohne die Grundlagen wird only im restlichen Semester nicht viel Freude haben.

Bubblesort halte ich hier für übertrieben, da wir eine fest vorgegebene Anzahl von drei Variablen haben.
Auf diesen Beitrag antworten »
Windows

ja aber wie soll man lernen wenn man überhaupt nicht weiter kommt.

Man lernt doch durch das programmieren .

Ich hatte in meinem Thread auch ANsätze gepostet ,soweit ich konnte.

UND für einen Anfänger ist es auch halt schwer ,alles selbstständig zu lösen .

Ohne jegliche Hilfe
Auf diesen Beitrag antworten »
only1 Sry

Hi da bin ich wieder hat ein Problem mit meiner Anmeldung gegeben, deswegen der neue Account XDD

Also ich würd zuert mal x, y, z definieren( x=x, y=x+1, z=y+1)
somit ist, wenn x>0 x<y<z;

@windows: was ist bubblesort?
Auf diesen Beitrag antworten »
eulerscheZahl

Nehmen wir mal an, wir kennen die Werte schon.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
#include <stdio.h>

int max(int x, int y, int z) {
	return 0; //hier sollst du eingreifen
}

int main() {
	printf("%d\n", max(4,7,3));
}


Bubblesort ist ein Sortieralgorithmus. Kann man so machen, aber selbst draufkommen ist immer schöner, als die Lösung nachzuschlagen smile
Auf diesen Beitrag antworten »
only1 .

ok also,
vermutlich wenn da schon printf steht, muss ich irgendwas scanf machen oder?

und zwar
for (x<y<z)
if ( x is positive)

bzw.

for (x>y>z)
(if x is negativ)

dabei gehe ich immer noch von meiner Definition von eben aus.....????
ist das mal ein Ansatz oder komplett falsch? XD
Auf diesen Beitrag antworten »
eulerscheZahl

Ich habe dir die Zahlen 4,7,3 vorgegeben (Zeile 8). Du musst also nichts mit scanf einlesen.
Du brauchst auch eine Schleife (deine Syntax ist übrigens falsch) und musst nicht prüfen, ob die Zahlen positiv oder negativ sind.

Versuche, Zeile 4 in meinem Code so anzupassen, dass du das Maximum von x, y und z zurückgibst.
Auf diesen Beitrag antworten »
only1 .

Hab grad gelesen, dass die Beispiele freiwillig sind, weil der Stoff erst in den Vorlesungen kommtsmile .
Hätt mich vorher besser drüber informieren, sollen..
Sry für die unannehmlichkeiten und trotzdem danke für die schnelle Hilfe, obwohl ich nicht alles so ganz verstanden hab.. naja werd das hoffentlich in der VO lernen.... ansonsten melde ich mich nochmal xdd.

lg only ^^
 
Neue Frage »
Antworten »


Verwandte Themen