Strukturen

Zum Bild: Startest du das als Release?

Zu getpunkte: Welche Fehlermeldung kommt da, außer dem "Quellcode nicht verfügbar"?
Du fülls die Werte zehnmal an der gleichen Stelle. Warum immer "+=0.1" und dann ein int-cast?
float/double in Arrayindizes machen auch gecastet nichts einfacher...warum nicht int verwenden?
Falls du es nicht weißt: sin will die Zahl als Radiant, also nicht über "falsche" Ergebnisse wundern.

Zu fndminimum: Sortieralgorithmen gibts bessere, aber das weißt du ja selber...
Warum tauscht du immer nur y? Warum nicht die ganze struct?
 
Zum Bild: Startest du das als Release?

Ich weis net was du meinst, aber ich drücke einfach F11 und dann immer wieder F11 für Einzelschritt. Wenn ich STRG+F5 drücke dann kommt ganz normal das schwarze Fenster und die "falschen" Sinuswerte sind zu sehn.
Die kleinste Zahl ist halt 0.

Zu getpunkte: Welche Fehlermeldung kommt da, außer dem "Quellcode nicht verfügbar"?
Du fülls die Werte zehnmal an der gleichen Stelle. Warum immer "+=0.1" und dann ein int-cast?
float/double in Arrayindizes machen auch gecastet nichts einfacher...warum nicht int verwenden?
Falls du es nicht weißt: sin will die Zahl als Radiant, also nicht über "falsche" Ergebnisse wundern.

Ich kann nur das unten in der Ausgabe finden, wenn ich STR+F5 mache:
: warning C4244: '=': Konvertierung von 'double' in 'float', möglicher Datenverlust(1. for/3.zeile)

Naja ich will halt sin() berechnen aus Kommazahlen. Ok ich könnte statt double t float t schreiben.
Array-Index darf ja keine Kommazahl haben, darum der cast.

Zu fndminimum: Sortieralgorithmen gibts bessere, aber das weißt du ja selber...
Warum tauscht du immer nur y? Warum nicht die ganze struct?

Naja weil ich nur y also das ergebnis des sin() sortieren bzw. die kleinste zahl suchen will.

Qucksort ist mir zu kompliziert noch, haben es zwar mal kurz angeschnitten, aber wird wahrscheinlich noch kommen.
 
Zuletzt bearbeitet:
Dasr Problem ist ich kann nicht mit einzelschritt durchgehen, weils in Zeile 15 hängen bleibt, also der Quellcode kann nicht angezeigt werden oder so?

Immer bei den blöden cast passiert das^^.

Du sagtest mir ja ich soll dir noch was anderes dazu sagen, dass du mir weiterhelfen kannst. also irgendwo im Debugger? Ich weis net wo ich da schauen könnte.

Das steht im Disassambly: 010D1DD0 cmp dword ptr [___sse2_available (10D75A0h)],0
 
Zuletzt bearbeitet:
So, alles verschoben etc.

Ich schau mir das mal selbst im Compiler an.

edit:
Alles bisher Genannte ausgebessert, und es geht...
C++:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>

#define MAXLEN 10

struct punkt_struct
{
	float x;
	float y;
};

typedef struct punkt_struct punkt;

void getpunkte(punkt point[], int len);
float fndminimum(punkt point[], int len);

void getpunkte(punkt point[], int len)
{
	for(int i = 0; i < len; i++)
	{
		point[i].x = ((float)i) / 10.0;
		point[i].y = sin(point[i].x);
		printf("sin(%f)=%f\n", point[i].x, point[i].y);
	}
}

float fndminimum(punkt point[], int len)
{
	float x;
	int i;

	if(len < 1)
		return 0.0;

	x = point[0].y;
	for(i = 1; i < len; i++)
	{
		if(point[i].y < x)
			x = point[i].y;
	}

	return x;
}

int main()
{
	punkt point[MAXLEN];
	float min = 0.0;

	getpunkte(point, MAXLEN);
	min = fndminimum(point, MAXLEN);
	printf("Die kleinste y-Zahl im Array ist:%f\n", min);

	return 0;
}
 
Zurück