Jesdes Zeichen der reihe nach auslesen geschlossen 

Status
Für weitere Antworten geschlossen.

0wN3r

Registered +
Registriert
Dez. 2008
Beiträge
120
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
 
Zuletzt bearbeitet von einem Moderator:
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 {
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 {
sum+=zahl[i];
}
printf ("%i ",sum);
 
Zuletzt bearbeitet von einem Moderator:
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
 
Zuletzt bearbeitet von einem Moderator:
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.

Ähnliche Themen

A
Antworten
6
Aufrufe
1K
Ralf210349
R
Zurück
Oben Unten