Wieder mal C Programmierung |
|
Wieder mal C Programmierung |
|
Also da ist mal wieder so ein Programm, wo ich Hilfe bräucht!
Aufgabe: Speichern der ersten zehn Quadratzahlen in einem Array und Ausgabe des Arrays.
#include<stdio.h>
int main()
{
int qu[10];
int i;
for(i=1; i<=10; ++i)
qu[i-1]=i*i;
for(i=0; i<10; i=i+1)
printf("%2i*%2i=%3i\n", i+1, i+1, qu[i]);
So und jetzt zum Problem:
Warum fängt man einmal die for Schleife bei i=1 dann bei i=0 an?
Ausserdem versteh ich das qu[i-1] nicht und i+1.
Bitte ausführlich erklären, sonst versteh ich das nicht.
|
|
04.07.2007 18:10 |
|
|
Thomas
Administrator
Dabei seit: 06.09.2006
Beiträge: 68
|
|
Prinzipiell hat das Programm 2 Schleifen.
Die erste Schleife zur Erzeugung der Quadratzahlen (quasi 1*1, 2*2, 3*3, ...), hier siehst du auch den Grund, warum es bei 1 los geht, da man 0*0 üblicherweise weglässt aus Trivialitätsgründen und weil es nicht zu den natürlichen Zahlen gehört.
Andererseits werden Arrays in der Programmierung üblicherweise mit dem Index 0 begonnen, also beginnt die 2. Schleife zur Ausgabe des Arrays mit i = 0. Diese Differenz führt auch dazu, dass zum Speichern im Array bei der ersten Schleife der Index eins geringer sein muss, alsi qu[i-1].
|
|
04.07.2007 18:18 |
|
|
|
Danke dir
!
|
|
04.07.2007 18:33 |
|
|
|