---
title: "FOR-sats på FOR-sats osv"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/68028-for-sats-på-for-sats-osv"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Rulle"
published: "2003-02-12T09:13:10.000Z"
updated: "2003-02-12T12:19:38.000Z"
replies: 3
views: 472
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/68028-for-sats-på-for-sats-osv"
---

# FOR-sats på FOR-sats osv

## #1 — Rulle, 2003-02-12T09:13Z

Hur kan svaret bli som det blir ??
Kan någon förklara på ett enkelt sätt.
Första svaret fattar jag, men hur kommer dom andra till ??

\#include \<iostream.h\>
void main()   
{
   const int n = 2;
   int   count = 0, i, j, k;
   for (i = n; i \>= 0; i--)
      for (j = 0; j \<= n; j++)
        for (k = 0; k \<= n; k++)
          if (i + j + k == n) 
          {
           count++;
           cout\<\<"i= "\<\< i \<\<" j=" \<\< j \<\< " k=" \<\< k\<\<endl;
          }
   cout\<\<"Count:"\<\< count\<\< endl;
}
Svar:
i= 2 j=0 k=0
i= 1 j=0 k=1
i= 1 j=1 k=0
i= 0 j=0 k=2
i= 0 j=1 k=1
i= 0 j=2 k=0
Count:6

Permalänk: https://www.webforum.nu/p/68028

## #2 — Tryptomine, 2003-02-12T09:48Z

Om du kommenterar bort if-satsen blir svaret annorlunda.
If-satsen gör att endast dom rader som jag markerat med fetstil skrivs ut. Det kanske är lättare att förstå svaret nu?

**i= 2 j=0 k=0**
i= 2 j=0 k=1
i= 2 j=0 k=2
i= 2 j=1 k=0
i= 2 j=1 k=1
i= 2 j=1 k=2
i= 2 j=2 k=0
i= 2 j=2 k=1
i= 2 j=2 k=2
i= 1 j=0 k=0
**i= 1 j=0 k=1**
i= 1 j=0 k=2
**i= 1 j=1 k=0**
i= 1 j=1 k=1
i= 1 j=1 k=2
i= 1 j=2 k=0
i= 1 j=2 k=1
i= 1 j=2 k=2
i= 0 j=0 k=0
i= 0 j=0 k=1
**i= 0 j=0 k=2**
i= 0 j=1 k=0
**i= 0 j=1 k=1**
i= 0 j=1 k=2
**i= 0 j=2 k=0**
i= 0 j=2 k=1
i= 0 j=2 k=2
Count:27

Permalänk: https://www.webforum.nu/p/949204

## #3 — Rulle, 2003-02-12T11:51Z

Lite

lättare blev det.
Men hur går det till när sista FOR-satsen kommit upp till 2 och sedan nollställs ??

Permalänk: https://www.webforum.nu/p/949315

## #4 — Tryptomine, 2003-02-12T12:19Z

Jag är ingen pedagog så jag har lite svårt att föklara med ord, men jag gör ett försök.

Den sista for-satsen körs i sin helhet varje gång den näst sista for satsen kör ett steg.
En for är uppbyggd så här:
*for(initiering (körs en gång) , validering för att fortsätta , exekvera efter varje loop)*

initieringen för k i sista satsen körs i varje loop för j, och det är då k nollställs.

Nu fattar jag knappt själv vad jag skrivit och vet inte heller om det var detta du frågade efter.

Permalänk: https://www.webforum.nu/p/949330

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/68028-for-sats-på-for-sats-osv
