PDA

View Full Version : انجام دوباره ی یک حلقه



kamal3401
شنبه 02 اسفند 1393, 18:09 عصر
سلام دوستان من ی کدی نوشتم که دوتا حلقه ی for داره این حلقه ها بصورت رندوم یکاری رو انجام میدن
میخوام بعد اینکه این دوتا حلقه کلا کارش تموم شد برگرده دوباره همون حلقه رو اجرا کنه از اول
این کارو با حلقه ی while انجام میدم ولی چیز خوبی در نمیاد چون مجبورم شرطشو یک بزارم برا همین دیگه برنامه تموم نمیشه
یه راه خوبی میتونید پیشنهاد بدید بهم؟

kamal3401
شنبه 02 اسفند 1393, 18:36 عصر
اینم اضافه کنم که از یک تابع گرافیکی استفاده میکنم
میخوام اون کاری ک اون حلقه انجام میده مثلا پاک بشه از اول اجراش کنه

kamal3401
شنبه 02 اسفند 1393, 19:49 عصر
سوال من مبهم بود یا همچین چیزی امکان نداره؟
ی راهنمایی کوچیکم کنید برام کافیه

ehsan_faal
شنبه 02 اسفند 1393, 20:21 عصر
خب اگه قراره به یه تعداد معین این دو تا حلقه تکرار بشه چرا این دو تا حلقه رو داخل یه for تعریف نمی کنی!

kamal3401
شنبه 02 اسفند 1393, 20:32 عصر
ببینید من قراره با دو تا حلقه ی فور تو در تو ی کاری رو انجام بدم
ولی میخوام بعد اینکه این حلقه ها کارش تموم شد کارای حلقه ی تو در تو پاک بشه دوباره اجراش کنه

[[[[[[[[[[...]]]]]]]]]]
شنبه 02 اسفند 1393, 21:24 عصر
می تونی از goto و/یا continue استفاده کنی:


#include <stdio.h> /* int printf (const char*, ...) */
#include <stdlib.h> /* for void exit (int), EXIT_SUCCESS */

int main ()
{
int i, j;

operation:
for (i = 1; i <= 99; ++i)
for (j = i << i % 2; i < j; j = i >> i)
;/* printf ("i:%d j:%d\n", i, j); */

static int n; /* default-initialized to 0 */

if (++n < 5)
goto operation;
else
goto print;

print:
printf ("%d\n", n);

exit (EXIT_SUCCESS);
}




/* continue */

#include <stdio.h> /* for int printf (const char*, ...) */
#include <stdlib.h> /* for void exit (int), EXIT_SUCCESS */

int main ()
{
int i, j, n;

for (n = 0; n < 10; ++n)
{
for (i = 1; i <= 99; ++i)
for (j = i << i % 2; i < j; j = i >> i)
;/* printf ("i:%d j:%d\n", i, j); */

if (n % 2 == 0)
continue;

printf ("n:%d\n", n);
}

exit (EXIT_SUCCESS);
}