2009-09-30 8 views
12

मैं प्रत्येक 5 परिणामों में for लूप के भीतर कोई कार्रवाई कैसे कर सकता हूं?प्रत्येक 5 परिणामों में कोई कार्रवाई कैसे करें?

मूल रूप से मैं बस 5 कॉलम के साथ एक तालिका अनुकरण करने की कोशिश कर रहा हूं।

उत्तर

41

आप मापांक ऑपरेटर

for(int i = 0; i < 500; i++) 
{ 
    if(i % 5 == 0) 
    { 
     //do your stuff here 
    } 
} 
+4

$ i + = 5) {...} '। – Joey

+2

@ जोहान्स मुझे लगता है कि वह 0 से एन तक हर पूरे नंबर के लिए प्रसंस्करण करना चाहता है, लेकिन हर 5 वें तत्व के लिए एक कार्रवाई को आग लगाना। हालांकि, मैं गलत हो सकता है। – patros

+3

ध्यान दें कि '(i% 5 == 0) 'पहले, छठे, ग्यारहवें स्थान पर चलेगा ... पास। पांचवें, दसवें, पंद्रहवीं, पर ट्रिगर करने के लिए '(i% 5 == 4)' का उपयोग करें ... इसके बजाए गुजरता है। –

0

यह रूप में बताया, एक मापांक के साथ एक शर्त उपयोग करना संभव है इस्तेमाल कर सकते हैं। आप इसे घोंसले के लूप के साथ भी कर सकते हैं।

int n = 500; 
int i = 0; 

int limit = n - 5 
(while i < limit) 
{ 
    int innerLimit = i + 5 
    while(i < innerLimit) 
    { 
     //loop body 
     ++i; 
    } 
    //Fire an action 
} 

यह अच्छी तरह से करता है, तो n 5 की एक बहु होने की गारंटी है, या यदि आप अंत में एक अतिरिक्त घटना फायरिंग के बारे में परवाह नहीं है काम करता है। अन्यथा आपको इसे अंत में जोड़ना होगा, और यह इसे कम सुंदर बनाता है।

//If n is not guaranteed to be a multiple of 5. 
while(i < n) 
{ 
    //loop body 
    ++i; 
} 

और परिवर्तन पूर्णांक सीमा = n - 5 - - पूर्णांक सीमा = n करने के लिए 5 (एन% 5)

2

एक HTML तालिका के लिए, यह प्रयास करें।

<?php 
$start = 0; 
$end = 22; 
$split = 5; 
?> 
<table> 
    <tr> 
    <?php for($i = $start; $i < $end; $i++) { ?> 
    <td style="border:1px solid red;" > 
     <?= $i; ?> 
    </td> 
    <?php if(($i) % ($split) == $split-1){ ?> 
    </tr><tr> 
    <?php }} ?> 
    </tr> 
</table>
+0

$ गिनती का नाम बदला जाना चाहिए। "गिनती" नाम से पता चलता है कि आपको वह कई कोशिकाएं मिलेंगी। यदि $ स्टार्ट शून्य पर सेट नहीं है, तो आपको $ count के बराबर कई सेल नहीं मिलेंगे। – Larsenal

+0

अच्छा बिंदु लार्सनल – Steve

0

एक और भिन्नता:

 
int j=0; 
for(int i = 0; i < 500; i++) 
{ 
    j++; 
    if(j >= 5) 
    { 
     j = 0; 
     //do your stuff here 
    } 
} 

मैं पुराने जमाने हूँ, मुझे याद है जब विभाजन काफी समय लगा। आधुनिक सीपीयू के साथ शायद इससे कोई फर्क नहीं पड़ता।

+0

यदि नहीं होना चाहिए (j == 5)? – mhd

-1
// That's an easy one 

for($i=10;$i<500;$i+=5) 
{ 
    //do something 
} 
+4

इस लूप में कोड प्रत्येक 5 वें रन में नहीं बुलाया जाएगा, इसे प्रत्येक पर बुलाया जाएगा! केवल आपके परिवर्तनीय '$ i' को प्रत्येक रन में 5 से बढ़ाया जाएगा। – tbraun89

0

यह foreach पाश के भीतर एक जीवित सूचकांक प्राप्त करने के लिए काम करता है:; $ i <500; परिस्थितियों की अनुमति यदि आप भी सिर्फ `उपयोग कर सकते हैं के लिए ($ i = 0

<?php 

// Named-Index Array 
$myNamedIndexArray = array('foo' => 'bar', 'go' => 'habs', 'CSGO_bestTeam' => 'fnatic', 'test' => 'one two', 'potato' => 'french fries', 'tomato' => 'ketchup', 'coffee' => 'expresso', 'window' => 'cleaner', 'truck' => 'load', 'nine' => 'neuf', 'ten' => 'dix'); 

// Numeric-Index Array of the Named-Index Array 
$myNumIndex = array_keys($myNamedIndexArray); 


foreach($myNamedIndexArray as $key => $value) { 
    $index = array_search($key,$myNumIndex); 

    if ($index !== false) { 
     echo 'Index of key "'.$key.'" is : '.$index.PHP_EOL; 

     if (($index+1) % 5 == 0) { 
      echo '[index='.$index.'] stuff to be done every 5 iterations'.PHP_EOL; 
     } 
    } 

} 
संबंधित मुद्दे