C
nessi schrieb:
ok, danke erstmal. Aber versteh wo da Betrag_x[-1] herkommen soll, ist doch alles größer 0 was eingegeben wird....
Im ersten Durchlauf der for()-Schleife ist k=0 und du berechnest [c]betrag_x[0]=sqrtf((x[0]*x[0])+(**betrag_x[-1]***betrag_x[-1]));[/c] -siehst du's?
(außerdem verwendest du im letzten Durchlauf die ebenfalls nicht definierten Werte x[n] und y[n])
Und was für Zwischenergebnisse??? Alles was ich berechne, muss ich doch zuletzt auch ausgeben...
Mußt du am Ende wirklich noch wissen, wie groß der Betrag des Teilvektors aus x0 und x1 war? Interessant sind doch nur die Endwerte betrag_x[n], betrag_y[n] und produkt[n], also kannst du alles andere überschreiben:
float betrag_x=0,betrag_y=0,produkt=0;
for(k=0;k<n;++k)
{
betrag_x+=x[k]*x[k];
betrag_y+=y[k]*y[k];
produkt +=x[k]*y[k];
}
betrag_x = sqrt(betrag_x);
betrag_y = sqrt(betrag_y);