אתגר מספר 2 - שיטת ה"סמוך" או "מי צריך ולידציה?"

מצב
הנושא נעול.

פרוגיוזרית

צוות הנהלה
מנהל
מנוי פרימיום
הנדסת תוכנה
כללי האתגר:
1. האתגר פעיל עד יום שישי הבא.
2. את התשובות לכתוב בשפת C.
3. אין להריץ את הקוד בשום פלטפורמה.
זה הרעיון של האתגר (הנוכחי לפחות), לכתוב קוד שפותר בעיה ולראות שאין בו באגים באמצעות השכל בלבד!
ניתן לקמפל אותו.
4. אין לערוך את הקוד אחר ההעלאה.
5. אין להריץ קוד שאחרים העלו כדי לראות את הפלט.
6. המנצח/ת תפתח את האתגר הבא.
7. קריטריוני השיפוט:
א. נכונות התשובה
ב. יעילות התשובה
ג. גנריות התשובה
ד. מספר שורות קוד בתשובה
ה. סדר העלאת התשובות

ולשאלה:

בהנתן רצף מספרים 123456789, הכניסו סימני + או - בין הספרות, כך שהתוצאה הסופית תהיה שקולה למאה. אין לשנות את סדר הספרות.
הדפיסו את כל האפשרויות.
 

מבקשת מידע

משתמש מקצוען
לא מצליחה להזכר איך מתעסקים עם מחרוזות בC
נראה לי מספיק מאתגר גם בשפות אחרות...
 

UU

משתמש סופר מקצוען
הנדסת תוכנה
חבל שאי אפשר להריץ ולבדוק את עצמי
הקוד נכתב.
וכמובן שבדקתי אח"כ
ויש בעיות בקוד
מעלה לפה את הקוד לפני השינויים
אוףףףף
upload_2019-12-9_1-56-8.png
 
נערך לאחרונה ב:

מבקשת מידע

משתמש מקצוען
לא יודעת למה הלכתי ישר לכיוון של מחרוזות
עכשיו שאני רואה שאפשר עם מספרים, הפסקתי לקרוא ואני הולכת לנסות לבד...
 

מבקשת מידע

משתמש מקצוען
אין לי קומפיילר או משהו שיכול להריץ,
אז אני שמה כאן את מה שיצא לי בלי יכולת לבדוק שזה לא בושות (כמובן בלי לשנות אח"כ :()

קוד:
function void calc100(long num,int index,int len,long arr[],char sign[],long sum)
{
       if(len==0 && sum==100)
    {
        for(int i=0;i<index;i++)
        {
            printf("%c %d",sign[i],arr[i]);
        }
        printf("\r\n");
    }
    for(int i=len-1;i>=0;i--)
    {
        long p=pow(10,i)
        arr[index]=num / p;
        sing[index]='+';
        calc100(num % p,index+1,i,arr,sign,sum + arr[index]);
        sign[index]='-';
        calc100(num % p,index+1,i,arr,sign,sum - arr[index]);
    }
}

void main()
{
    int arr[9]=[0,0,0,0,0,0,0,0,0];
    char sign[9]=['','','','','','','','',''];
    calc100(123456789,0,9,arr,sign,0);
}
 

פרוגיוזרית

צוות הנהלה
מנהל
מנוי פרימיום
הנדסת תוכנה
אז ככה, אי אז לפני הרבה זמן ישבתי לעשות שיפוט מדוקדק בין כל המגיבים הרבים :rolleyes:.
לא סיימתי אותו, אבל השקעתי בהרצה ובהבנה של הקוד.
זכור לי ששני הפתרונות לא ממש עבדו, אז דירגתי לפי קריטריונים אחרים.
פתאום האתגר הזה צד את עיני, ואני רואה שהוא מעולם לא נסגר. השיפוט ההוא אבד, ואין לי אנרגיה לעשות הכל מהתחלה.
אי לכך ובהתאם לזאת, בניסיון לעשות תחית המתים לאתגר אני אכתיר את @מבקשת מידע למנצחת, היות שהקוד נראה קריא יותר, וזכור לי שהוא הוציא פלט חלקי.
עמכן הסליחה שהשיפוט לא מדויק יותר.
מחכים לאתגר הבא.
 
מצב
הנושא נעול.

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קיט ר'

קנג רְאֵה עָנְיִי וְחַלְּצֵנִי כִּי תוֹרָתְךָ לֹא שָׁכָחְתִּי:קנד רִיבָה רִיבִי וּגְאָלֵנִי לְאִמְרָתְךָ חַיֵּנִי:קנה רָחוֹק מֵרְשָׁעִים יְשׁוּעָה כִּי חֻקֶּיךָ לֹא דָרָשׁוּ:קנו רַחֲמֶיךָ רַבִּים יְהוָה כְּמִשְׁפָּטֶיךָ חַיֵּנִי:קנז רַבִּים רֹדְפַי וְצָרָי מֵעֵדְוֹתֶיךָ לֹא נָטִיתִי:קנח רָאִיתִי בֹגְדִים וָאֶתְקוֹטָטָה אֲשֶׁר אִמְרָתְךָ לֹא שָׁמָרוּ:קנט רְאֵה כִּי פִקּוּדֶיךָ אָהָבְתִּי יְהוָה כְּחַסְדְּךָ חַיֵּנִי:קס רֹאשׁ דְּבָרְךָ אֱמֶת וּלְעוֹלָם כָּל מִשְׁפַּט צִדְקֶךָ:
נקרא  8  פעמים

לוח מודעות

למעלה