Vysvětlení cyklu for – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vysvětlení cyklu for – C / C++ – Fórum – Programujte.comVysvětlení cyklu for – C / C++ – Fórum – Programujte.com

 

Thalorn0
Duch
7. 2. 2018   #1
-
0
-

Zdravím, potřeboval bych vysvětlit tento cyklus for pro průchod dvourozměrným polem a poradit jak ho předělat do dvou forů. Děkuji.

Připojen obrázek.

Nahlásit jako SPAM
IP: 178.77.192.–
KIIV
~ Moderátor
+43
God of flame
7. 2. 2018   #2
-
0
-

Uz takhle je docela narocne co ze to sakra dela, kdyz se ti to povede scuknout do dvou, tak v tom bude dokonaly gulas.

Prvni projizdi radek, druhej projizdi diagonalne od radku a sloupce dokud jedno z nich neni 0, treti zase diagonalu dokud sloupec neni na 0 nebo radek neni (asi) posledni. Cele to vrati false, pokud na kterekoliv z tech pozici narazi na nenulovou hodnotu.

Nahlásit jako SPAM
IP: 185.163.41.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Thalorn0
Duch
7. 2. 2018   #3
-
0
-
Nahlásit jako SPAM
IP: 178.77.192.–
KIIV
~ Moderátor
+43
God of flame
7. 2. 2018   #4
-
0
-

#3 Thalorn
no je to neco jineho: 

// puvodni (radky=2, sloupce=3):
[2][3]
[1][2]
[0][1]

// a tvoje bude delat:
[2][3]
[2][2]
[2][1]
[2][0]
[1][3]
[1][2]
[1][1]
[1][0]
[0][3]
[0][2]
[0][1]
[0][0]
Nahlásit jako SPAM
IP: 81.30.230.–
Program vždy dělá to co naprogramujete, ne to co chcete...
peter
~ Anonymní uživatel
4016 příspěvků
8. 2. 2018   #5
-
0
-

for (pred cyklem ; podminky ; v cyklu)

for (i=0; i<sloupec; i++) {...kod...} se da zapsat jako

i=0;
for(;;)
  {
  if (i<sloupec) {break;}
  ...kod...
  i++;
  }

Ten dalsi 

for (i=radek, j=sloupec; i>= && j>=0 ; i--, j--) {...kod...} se da zapsat jako

i = radek;
j = sloupec;
for(;;)
  {
  if (i>= && j>=0) {break;}
  ...kod...
  i--;
  j--;
  }

nebo
i = radek;
j = sloupec;
while(i>= && j>=0)
  {
  ...kod...
  i--;
  j--;
  }


Abys to mohl zapsat do jednoho, musis pochopit, co to dela a proc to dela. Coz se z toho kodu vycist neda. Sice tvrdis, ze to vis, ale nenapsal jsi to. Takze je lepsi predpokladat, ze mas mizivou nebo uplne mylnou predstavu.
kdyz zadas radek = 3, sloupec = 5, deska = 7 tak
cyklus 1: [3,0] [3,1] [3,2] [3,3] [3,4] - zkontroluje sloupec od 0
cyklus 2: [3,5] [2,4] [1,3] [0,2] - zkontroluje diagonalu od konce
cyklus 3: [3,5] [4,4] [5,3] [6,2] - zkontroluje netusim co, asi vzdalenost od okraje
Pokud je arr[i,j]==0 nebo =='' nebo ==false nebo ==undefined cykly se prerusi na false. Cili, bud souradnice neexistuje nebo je tam false nebo prazdny text nebo nula. Nejspis vsechna pole zacinaji nulou, takze to u prvniho cyklu nemuze nastat. Ale mohlo by to nastat, pokud zadany radek nebo sloupec nebo oboje neexistuje.
Ty cykly lze spojit dohromady pouze za nekolika podminek, jinak vubec. azdy dela totiz uplne jinou vec. Takze, zkus nam nejdriv rici, jake cisla muzou byt v radek = x, sloupec = y, deska = z a jak vypada to pole.

Nahlásit jako SPAM
IP: 2001:718:2601:258:1c2c:84...–
peter
~ Anonymní uživatel
4016 příspěvků
8. 2. 2018   #6
-
0
-

#3 Thalorn
i, j se ma menit soucasne. V prvnim cyklu to nema byt.

Nahlásit jako SPAM
IP: 2001:718:2601:258:1c2c:84...–
peter
~ Anonymní uživatel
4016 příspěvků
8. 2. 2018   #7
-
0
-

#6 peter
A tim padem i podminka pro i musi byt v druhem cyklu.

Nahlásit jako SPAM
IP: 2001:718:2601:258:1c2c:84...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 92 hostů

Podobná vlákna

Vysvětlení cyklu — založil Jarda

Vysvětlení backtrace — založil Tassadar

Vysvětlení pojmů — založil Venca

Vysvětlení zadání — založil Adam

Vysvetleni syntaxe — založil radecek88

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý