Wieder mal C Programmierung

Neue Frage »

Auf diesen Beitrag antworten »
Celtic_Princess 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.
 
Auf diesen Beitrag antworten »
Thomas

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].
Auf diesen Beitrag antworten »
Celtic_Princess -

Danke dir smile !
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »