|
|
|
|
# 1 |
|
חבר בקהילה
|
סתם הערה, כיום לא נפוץ השימוש בלולאות FOR ברקורסיה, אלה ב WHILE וכדומה, ככה לפחות באוניורסיטאות .. ולרמות קושי ..
כי בעצם הרקורסיה עושה את העבודה של הלולאות FOR לדוגמא רק בילדיהן ...
__________________
|
|
|
|
# 2 |
|
חבר בקהילה
|
אהלן,
אני רואה שכבר הסתדרת, אבל יחד עם זאת, אם כל מה שאתה רוצה זה להדפיס מספרים בינריים, סדרות בינריות או כל דבר שמכיל 0 או 1, הנה גרסא איטרטיבית: קוד:
#include <stdio.h>
void printBin(int digits)
{
int i = 0, j = 0;
printf(">> Running for %d digits, %d is the maximum number\n", digits, ( 1 << digits ) -1);
for (i = 0 ; i < ( 1 << digits ); i++)
{
//printf("%d: ", i);
for(j = digits - 1; j >= 0; j--)
{
printf("%d ", i & ( 1 << j ) ? 1:0 );
}
printf("\n");
}
}
int main()
{
int digits = 0;
printf("How many digits? ");
scanf("%d", &digits);
printBin(digits);
return 0;
}
קוד:
SDF@sigma:~> gcc test.c -o test SDF@sigma:~> ./test How many digits? 3 >> Running for 3 digits, 7 is the maximum number 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 SDF@sigma:~> מאיפה הבאת את זה? תראה לי דבר אחד שאתה יכול לעשות עם while שאני לא אוכל לעשות עם for. כל אחד ומה שנוח לו. Last edited by SDF; 10-10-08 at 00:18.. סיבה: באג בקוד |
|
![]() |
| חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
| כלים לאשכול | |
| תצורת הצגה | |
|
|