Jesdes Zeichen der reihe nach auslesen

Status
Für weitere Antworten geschlossen.

0wN3r

Well-known member
Hätte ne frage bzgl. den stringst wenn ich zb. habe:

int zahl[3] = {1, 2, 3};

nun will ich die zahlen mit einer schleife ausgeben( also das ich zb. auch 100 zahlen in einem string eingeben kann und die dann ausgeben kann)

also das ich zb. ganz einfach die ziffernsumme daruas machen kann, oder die zahlen einfach multipliziere...

wir haben da so ne aufgabe und man braucht das immer wieder mal, dass man in einem string zeichen für zeichen durchgeht, nur habe ich das noch nicht ganz verstanden und im i-net auch nichts passendes gefunden, pls könnt ihr mir eine kurze erklärung dazu geben!

ich weiß das klingt jetzt ziemlich blöd, dass ich das nicht weiß, aber es hilft schon bei vielen aufgaben

thx, mfg 0wN3r
 
ja, meiner meinung nach ist das:
int zahl[3] = {1, 2, 3};
auch ein array ( auch vektor genannt)

nun muss ich z.b die ziffernsumme davon ausgeben!

weiß aber nicht wie ich da anfang soll :confused:


thx für den link zu dem tut!
 
Das wäre eine Lösung um jeden Wert des Array auszugeben:
Code:
	int zahl[3] = {1, 2, 3};

	int j = sizeof(zahl)/sizeof(*(zahl));
	for (int i=0; i<j; i++)
	{
		printf ("%i ",zahl[i]);
	}


Hier noch die Abwandlung zur summierung:
Code:
	int zahl[3] = {1, 2, 3};

	int j = sizeof(zahl)/sizeof(*(zahl));
	int sum = 0;
	for (int i=0; i<j; i++)
	{
		sum+=zahl[i];
	}
	printf ("%i ",sum);
 
Super! genau soetwas hab ich gesucht, ahso mit size of macht man das, wär irgnedwie eh logisch gewesen!

also danke, hast mir sehr geholfen!

hätte da noch ne frage, ob du mir vilt. das:
Code:
int j = sizeof(zahl)/sizeof(*(zahl));
noch erklären könntest?



und wie macht man das mit einer eingabe? bekomme das irgendwie nicht hin!

wenn ich zb. 123 eingeben will, muss ich 1 (enter) 2(enter)... eingeben, wie geht das ohne enter?...

möglichst ohne etwas unlogischem wie das: http://www.freesoft-board.to/f155/ziffernsumme-einer-3-stelligen-zahl-17069.html

lg
 
Bin gerade in Eile, darum nur mal sizeof.

sizeof gibt die Anzahl der Bytes an.
sizeof(x) ist die Größe des ganzen Arrays.
sizeof (*x) ist die Größe des ersten Elementes

Ist also ein int drei Bytes groß, dann ergibt sich z.B. für einen Array aus 4 ints folgendes:
Array in Bytes: 4*3Byte = 12Byte
Größe des Int: 3 Byte

12/3 = 4 so kommt man zur Länge des Array.
 
einen 3-Komponenten-Vektor einlesen, ohne Enter zu drücken:

Code:
scanf("%i %i %i", &a, &b, &c);

anstatt a,b und c solltest du deine Array-Elemente (einzeln) angeben.
Du kannst es auch anders fordern, mit Kommas z.B.:
Code:
scanf("%i,%i,%i", &a, &b, &c);
Dann muss der Nutzer aber die Kommas eintippen.

mfg
tarkus
 
Status
Für weitere Antworten geschlossen.

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten