Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Wieder mal C Programmierung (http://www.informatikerboard.de/board/thread.php?threadid=226)


Geschrieben von Celtic_Princess am 04.07.2007 um 18:10:

  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.



Geschrieben von Thomas am 04.07.2007 um 18:18:

 

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].



Geschrieben von Celtic_Princess am 04.07.2007 um 18:33:

  -

Danke dir smile !


Forensoftware: Burning Board, entwickelt von WoltLab GmbH