Thema: C - Vektoren
Einzelnen Beitrag anzeigen
Alt 28.11.2003, 00:33   #1
Bastet
Elite
 
Registriert seit: 07.09.2000
Beiträge: 1.036


Unglücklich C - Vektoren

vektoren. also ich glaub ich steh mal wieder auf der seife. und ja - ich hab bereits mehrere skripte sudiert
(im inet gibts genug davon - deshalb, bitte nicht aus nem buch zitieren, dass hilft mir nichts, weil sonst
hätt ichs bereits kapiert ) sorry, falls euch meine erklärungen irritieren, aber ich bin absolut keine
meisterin in erklärungen - schaltets für mich einfach mal auf dummiemodus, danke.


vektor syntax:
typ variablenname[anzahl_der_elemente_odr_auch_index_genannt];

Code:
#include <stdio.h>
int main()
{
	 int i, zahl[10];   /* meine fragen-erklärungen zum beispiel siehe unten. NR 1 */

	printf("...");     		 /* nö - keine frage  */
    	for (i=0; i<10; i++) 		 /* frage NR 2 */
	  	scanf(".....", zahl[i]); 	 /* frage NR 3 */

	for (i=9; i>=0; i--)  		 /*frage NR 4 */
		prinft("...", zahl[i]);

	return 1;
}
NR 1 syntax: zahl[10] verstanden, aber wieso brauch ich noch ne var i?
NR 2 schätze mal i=0; gilt für anfang und i<10 ist das ende (weil 10 werte - wobei von 0-9 gezählt wird,
i++ bedeutet, dass bei der eingabe der werte - nach enter immer der wert auf dem nächsten platz
gespeichert wird.
NR 3 zahl[i] betrifft irgendwie NR 1 - könnte ich nicht: for (zahl=0; zahl<10; zahl++) scanf(".....", zahl[])
schreiben? wieso sollte ich bei varname[index] in index die var i angeben?
NR 4 wenn ich was umgekehrt (i--) ausgeben möchte schreibe ich zuerst: for i=9 weil ich ja von hinten anfange.

soweit so gut, aber ich hab noch ein beispiel, da versteh ich scheinbar nur mehr bahnhof...

Code:
#include <stdio.h>

int main()
{
	int i, laenge, wort[21];

	for(i=0; i<21; i++)
	          wort[i]=0;             				 /* frage NR 1 */

	printf("....");

	while(getchar()!='\n')
	{	
		for(laenge=1; getchar()!='\n'; laenge++);  		 /* frage NR 2 */
	
		if(laenge>20)
			wort[20]++;
		else	
			wort[laenge-1]++;                          	 /*frage NR 3 */
	}
	for(i=0; i<21; i++)
		printf("%d Wörter mit %d Buchstaben\n", wort[i], i+1);  /* frage NR 4 */
	return 1;
}
NR 1 wieso geb ich dass jetzt an, beim obigen beispiel musste ich dass nicht.
NR 2 wieso laenge=1 ? müsste dass nicht laenge=0 sein, ich fange doch bei 0 an.
NR 3 häää???
NR 4 ist mir klar dass ich %d was zuweisen muss, aber wieso hat das i ein +1?
____________________________________
Bye Bastet

Bastet ist offline   Mit Zitat antworten