Array < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:35 So 09.09.2012 | Autor: | selinaCC |
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Aufgabe | Das ist ein Auszug meines Programms:
int ARRAY[10];
if( Q <= L)
{
for(int z = 0; z < 9; z++)
{
ARRAY[z] = Q;
}
printf(''Liste = %d \n'', ARRAY[z]); |
guten Abend :)
ich habe ein Programm in c geschrieben. Alles funktioniert. jetzt möchte ich einen Array einbauen, der mit die fortlaufenden Werte von Q abspeichert. Q wird vor der Schleife immer wieder neu berechnet und wir befinden uns in einer while schleife. Aber jetzt stürzt das Programm ab :(
Was muss ich ändern, es liegt auf jeden Fall an diesem Stück, da wenn ich es auskommentiere, alles funktioniert.
Viele Grüße
Selina
|
|
|
|
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
> Eingabefehler: "{" und "}" müssen immer paarweise
> auftreten, es wurde aber ein Teil ohne Entsprechung
> gefunden (siehe rote Markierung)
>
> Das ist ein Auszug meines Programms:
> int ARRAY[10];
> if( Q <= L)
> {
> for(int z = 0; z < 9; z++)
> {
> ARRAY[z] = Q;
> }
> printf(''Liste = %d \n'', ARRAY[z]);
> guten Abend :)
Du speicherst hier "Q" in jedem Array Feld. Also jedes Array Feld wird mit dem gleichen Wert beschrieben. Soll das so sein?
Du musst hier für deine printf Anweisung noch eine extra "for" schleife einrichten um alle Array Elemente auszugeben:
1: | for (z=0;z<9;z++)
| 2: | {
| 3: | printf("Liste=%d \n",ARRAY[z]);
| 4: | }
| 5: |
|
Kannst du bitte den kompletten code hier schreiben? Am besten noch als "Code" formatiert.
Valerie
|
|
|
|
|
Naja, man riecht schon fast, was das Problem ist.
Die Größe des Arrays muß am Anfang so groß gewählt werden, daß alle Werte darin Platz finden. In typischen while-Schleifen weiß man vorher nicht, wieviele Durchgänge es gibt, und damit, wieviele Werte es gibt, die in das Array sollen. Und dann passiert es gerne, daß man über das Ende des Arrays hinaus schreibt. Genau dann stürzt ein Programm sehr gerne ab. Oder man vertut sich mit dem Index von dem Array.
Füg mal diese Zeile ein:
printf("Setze ARRAY[%d] = %d", z, Q)
ARRAY[z] = Q;
Das Programm wird weiter abstürzen, aber du siehst vermutlich noch, daß der index z irgendwann nicht mehr im zulässigen Bereich 0-9 liegt.
Ansonsten schließ ich mich an, poste mal dein Stück Code, am besten in [code][/code] eingeschlossen.
|
|
|
|