Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » array in c » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen array in c
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
lilli.
unregistriert
array in c Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey,
wir haben folgendes c code fragment gegeben und müssen die werte angeben. rauskommen soll: 0,1,2,42,42,42, ich verstehe die lösung leider nicht, wie kommt man überhaupt auf 42?

int i,j;
int counter = 0;
int array[2][3];
for (i = 0; i < 2; i++)
for (j = 0; j < 3; j++)
array[i][j] = ++counter;
array[i][j] = counter--;

Geben Sie die Werte der Feldelemente an nach Beendigung der Schleifen an.

array[0][0]=
array[0][1] =
array[0][2] =
array[1][0] =
array[1][1] =
array[1][2] =
03.03.2014 14:59
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 638
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

also die Zahlenfolge stimmt so überhaupt nicht... Zuerst wird das array mit Werten von 1 bis 6 gefüllt (ohne 0) und dann wird in der Zeile:
code:
1:
array[i][j] = counter--; 

hinter das Array geschrieben, was im Normalfall zu einem Absturz führen müsste...

Also irgendwas stimmt da gar nicht. Vielleicht irgendwelche Klammern vergessen?

Gruß
Marco
03.03.2014 15:58 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
lilli.
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

nein hab das schon richtig abgetippt. soll ja nu en Fragment darstellen.
03.03.2014 16:30
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich habe das Programm ausgeführt, wie erwartet keine 42.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
#include <stdio.h>

int main()
{
	int i,j;
	int counter = 0;
	int array[2][3];
	for (i = 0; i < 2; i++)
		for (j = 0; j < 3; j++)
			array[i][j] = ++counter;
	array[i][j] = counter--; //schreiben in nicht reservierten Speicher

	printf("array[0][0] = %d\n", array[0][0]); //1
	printf("array[0][1] = %d\n", array[0][1]); //2
	printf("array[0][2] = %d\n", array[0][2]); //3
	printf("array[1][0] = %d\n", array[1][0]); //4
	printf("array[1][1] = %d\n", array[1][1]); //5
	printf("array[1][2] = %d\n", array[1][2]); //6
}


__________________
Syntax Highlighting fürs Board (Link)
03.03.2014 17:34 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
lilli.
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

aber was macht denn der counter--?
bringt er nicht alles auf 1?

array[0][0] =1
array[0][1] =1
array[0][2] =1
array[1][0] =1
array[1][1] =1
array[1][2] =1
03.03.2014 17:49
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

counter-- steht außerhalb der Schleife, daher auch die Frage von Marco, ob du eine Klammer vergessen hast.
So z.B.
code:
1:
2:
3:
4:
5:
6:
for (i = 0; i < 2; i++)
    for (j = 0; j < 3; j++)
    {
        array[i][j] = ++counter;
        array[i][j] = counter--; 
    }


__________________
Syntax Highlighting fürs Board (Link)
03.03.2014 17:54 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
lilli.
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

achso ne, da war wirklich keine klammer. ok danke sehr . smile
03.03.2014 17:58
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » array in c