Hilfe:(
-
const unsigned int N = 5U; // oder anderen integralen typenist in der Regel besser als
#define N 5
-
Tim06TR schrieb:
const unsigned int N = 5U; // oder anderen integralen typenist in der Regel besser als
#define N 5Begründung? (Für den TE
)
-
Sorry, ich habe keine Ahnung was cpp-Tags sind. Bin ein absoluter Neuling in Sachen Programmierung.
Dein Tip war aber echt gut, vielen Dank
-
Celia schrieb:
Sorry, ich habe keine Ahnung was cpp-Tags sind. Bin ein absoluter Neuling in Sachen Programmierung.
Dein Tip war aber echt gut, vielen Dank
Du findest die cpp Tags unter den Smileys. Alternativ kannst du sie auch von Hand tippen
[cpp*]
// Hier dein Code
[/cpp*]
und dabei einfach das * weglassen.
-
Du hast da diese merkwürdigen while-Schleifen. Haben die einen Zweck?
-
Hacker schrieb:
Tim06TR schrieb:
const unsigned int N = 5U; // oder anderen integralen typenist in der Regel besser als
#define N 5Begründung? (Für den TE
)Defines werden Konstanten vielleicht bei der Mikroprozessorprogrammierung vorgezogen, weil man dort wenig Speicher hat und somit erfreut darüber ist, dass man sich Speicher für eine Variable spart, in dem es direkt im Code ersetzt wird. Aber selbst dort, sollte man versuchen es mit Konstanten zu lösen.
Außerdem und somit viel wichtiger, ist der Scope. Während defines einen global file scope haben, haben Konstanten den Scope, in dem sie definiert werden.
-
Hallo,
ich möchte den Wert pmax mit hilfe von return an main () zurück geben, das funktioniert aber nicht. Mir wird immer der Fehler: Run-Time Check Failure #3 - The variable 'wmax' is being used without being initialized. angezeigt.
Was habe ich falsch gemacht?#include <stdio.h>
int maximale_leistung (int drehzahl [19], double drehmoment [19], double *pmax);
int main (void)
{
int drehzahl [19] = {1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000, 7500, 8000, 8500, 9000, 9500, 10000};
double drehmoment [19] = {6., 16., 32., 40., 43., 44., 45., 47., 48., 51., 53.8, 50.1, 48.6, 45.3, 43.9, 38., 29., 21., 17.};
double pmax;
int wmax;maximale_leistung (drehzahl, drehmoment, &pmax);
printf ("Maximale Leistung pmax= %.2lf kW\ndazugehoerige Drehzahl wmax: %d U/min\n", pmax, wmax);
return 0;
}int maximale_leistung (int drehzahl [19], double drehmoment [19], double *pmax)
{
double p [19];
int i;
int wmax = 0;for ( i = 0; i < 19; i++)
{
p [i] = (drehzahl [i] * drehmoment [i]) / 1000;if ( p [i] > p [i-1] )
{
*pmax = p [i];
wmax = drehzahl [i];
}
}
return wmax;
}
-
icarus2 schrieb:
Bitte verwende cpp-Tags, sonst kann man deinen Code nicht lesen.
-
Bitte fang an Codetags zu benutzen. Außerdem suchst du den Fehler an der falschen Stelle. In der main() hast du eine Variable mit dem Namen wmax, welche keinen Wert gesetzt bekommt. In der nächsten Zeile rufst du die Funktion maximale_leistung auf, ohne ihren Wert irgendwo abzuspeichern. Somit bleibt wmax immer noch "wertlos" und versuchst dann im printf() ihren Wert abzufragen.
wmax = maximale_leistung(drehzahl, drehmoment, &pmax);Dein Code sieht sehr nach "C/C++" aus, also falsch und eklig. Schau dir doch mal ein paar C++ Codeschnipsel oder Code Konventionen an.
-
Vielen Dank, habe meinen Fehler gefunden.