int main()
{
int p = 20;
int i = 1;
for ( ;i<=p;i++)
{
struct h f_i;
}
}
Takhle deklaruješ strukturu typu h. Ta struktura se bude jmenovat "f_i" (i se nenahradí žádným číslem!) a budeš k ní moct přistupovat jen v těle cyklu for.
int main()
{
int p = 20;
int i = 1;
struct h f_i;
for ( ;i<=p;i++)
{
f_i.z = i;
}
cout << f_i.z << endl;
for (i=1 ;i<=p;i++)
{
cout << f_i.z << endl;
}
}
Takhle deklaruješ opět strukturu typu t, která se bude jmenovat "f_i". Budeš k ní moct přistupovat jak v těle funkce main, tak v tělech obou cyklů for.
V prvním běhu prvního cyklu do té struktury do proměnné z uložíš 1, v druhém běhu prvního cyklu do TÉ SAMÉ struktury uložíš 2, atd. až poté, co skončí první cyklus, bude v f_i.z uloženo číslo 20. Zbytek funkce main pak 21krát vypíše číslo 20.
int main()
{
int p = 20;
int i = 1;
struct h zaznam[20];
for ( ;i<=p;i++)
{
zaznam[i-1].z = i;
}
cout << zaznam[0].z << endl; // vypíše 1
for (i=1 ;i<=p;i++)
{
cout << zaznam[i-1].z << endl;
}
}
Tady deklaruješ pole struktur typu t, které se jmenuje "zaznam". Těch struktur je 20, k první přistupuješ zaznam[0], ke druhé zaznam[1]... ke dvacáté zaznam[19].
V prvním běhu prvního cyklu se i nahradí číslem 1-> do položky z první struktury (zaznam[1-1] = zaznam[0]) uložíš jedničku. Ve druhém běhu prvního cyklu se i nahradí 2 -> do druhé struktury (zaznam[2-1] = zaznam[1]) uložíš dvojku. atd.
Po skončení prvního cyklu bude tedy zaznam[0].z = 1, zaznam[1].z = 2 ... zaznam[19].z roven 20. A druhý cyklus vypíše čísla od 1 do 20.