Programmieren - Vektorlängebeispiel?

...komplette Frage anzeigen

1 Antwort

Bei printf("Wert %d: "); gibst du einen integer-Wert aus, der aber nicht vorhanden ist. %d ist der Platzhalter im String für den Wert, aber du müsstest anschließend noch "n" als Argument hinzufügen, damit dort auch der Wert ausgegeben wird.

Folglich wäre das hier richtig:

printf("Wert: %d", n);

Ebenso ist deine while-Abfrage unsinnig, da immer erfüllt (11 ist immer größer als 0). Hat den selben Effekt wie "while(1)".



Antwort bewerten Vielen Dank für Deine Bewertung
leon966 19.05.2016, 19:59

Was soll ich dann, aber in die Klammer von while schreiben?

0
Gehilfling 19.05.2016, 20:05
@leon966

Eine Bedingung, die dann "false" wird, wenn du die Schleife nicht weiter aufrufen möchtest. Das wäre in deinem Fall das Erreichen der "werte" Anzahl an Eingabewerten.

Als kleine Strategie:

- Frage vor der While-Schleife ab, wie viele Werte du einlesen möchtest in dein Programm.

- Dann kannst du in der While-Schleife so lange Einlesen, bis du "Werte" erreicht hast. Das kannst du mit einer Laufvariable (schlichterweise "i") bewerkstelligen: while(i<Werte). Beispiel: Du möchtest 5 Werte einlesen und befüllst dein Array n[] an den Indexen 0-4 mit den 5 Werten, bei i = 5 (5. Index existiert nicht mehr) springt dein Programm aus der While, da "while(5<5) = false".

- In der while() selbst kannst du mit i = 0 beginnen und mit scanf("%d", &zahl) eine zahl einlesen, welche du dann in n[i] = zahl ablegst. So befüllst du dein Array mit den Werten. Allerdings musst du beachten, dass wenn du weniger als 10 Werte einliest, deine nicht belegten Arrayplätze undefinierte Werte haben, sofern du das Array vorab nicht mit 0 initialisierst (n[10] = {};)

0
leon966 19.05.2016, 20:13
@Gehilfling

Fragt man wie viele Werte ich einlesen will mit printf? Weil genau das verwirrt mich in der Angabe.

0
Gehilfling 19.05.2016, 20:28
@leon966

printf ist nur für Ausgaben da. scanf liest Werte von der Tastatur ein.

0
leon966 19.05.2016, 20:31
@Gehilfling

Verstehe und wie frage ich die Menge, also wie viel ich einlesen will

0

Was möchtest Du wissen?