Loop i loop i loop i loop i loop i loop...

Man kan lägga loopar inne i andra loopar. Det öppnar möjligheter för mer avancerade slingor, men har nackdelen att det kan bli svårt att förstå koden. Håller man sig till ett par nivåer så går det dock bra. Känner man att det behövs ytterligare nivåer så kanske man ska fundera över om det inte finns alternativa sätt att skriva koden på.

Nedan visas som ett exempel två nästlade for-slingor. Programmet skriver ut siffrorna 1-10, och varje siffra skrivs lika många gånger som dess värde, d.v.s. 1 2 2 3 3 3 4 4 4 4 o.s.v.

Exempel 8.3

#include <iostream>

using namespace std;

int main()
{
int i,j;
for(i=1;i<=10;i++)//Stega från 1 - 10
{
for(j=1;j<=i;j++) cout<<i<<" "; //Antal gånger per siffra
}
return 0;
}

I exemplet ovan har vi en "yttre loop" som kontrollerar variabeln i, vilken är den aktuella siffran. Denna for-loop startar med i-värdet 1 och ökar med 1 för varje gång loopen repeteras. Då variabeln i fått värdet 10 avslutas den yttre loopen. Den "inre loopen" kontrollerar variablen j som styr hur många gånger en siffra ska skrivas till skärmen. För varje gång den yttre loopen upprepas körs den inre loopen.