עבור לתוכן

מה מבצעת התוכנית מבחינה פונקציונלית?

Featured Replies

פורסם

  #include<stdio.h>
int i,j,sum;
int x[10]={3,8,9,10,15,22,32,33,40,51};
int y[10]={2,7,8,10,13,32,40,55,56,60};

main()
{
sum=0;
j=0;
for(i=0;i<10;i++)
{
for(;(y[i]>=x[j])&&j<10;j++)
{
if(y[i]==x[j])
sum++;
}
}

printf("sum %d",sum);
}

אני לא המנתי מה זה אומר "מבחינה פונקציונלית!!!!!!

הרצתי והבנתי מה הוא ערכו של sum אבל שוב וזה קורה לי כל הזמן שאני לא מבין את השאלה

אם מישהו יכול להריץ על קומפיילר ולהסביר לי מי נגד מי כאן אני אשמח

תודה

פורסם

הכול לא הכי קריא בארץ

ותגיד לי

לקחת ברצינות את הקטע שמותר לכתוב main חחחחחחחחחחח

תחזיר ערך דבר ראשון חחחחחחחחחחחח

דבר שני התוכנית בודקת האם במערך y יש ערך שמקביל לו במונה של המערך לערך במערך x

בקיצור sum צריך לצאת אחד

זה מריפרוף הלולאה השניה לא קריאה ביותר

דבר שניה עדיף שתוסיף עוד מונה ללולאות שלך נגיד t ולא תשים את i כמספר שמסמל את הערך של האיבר במערך

פורסם

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

דבר שני, "מבחינה פונקציונלית" - מה תכלס התכנית עושה.

matteo, אתה מטעה. התכנית אמנם בודקת אם יש איבר ב-x ששווה לאיבר ב-y, אבל היא לא עוצרת בכך.

פורסם

ממבט מהיר בקוד שהבאת אני חושב שהפונקציה מדפיסה את מספר האיברים שנמצאים גם במערך x וגם במערך y.

פורסם

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

דבר שני, "מבחינה פונקציונלית" - מה תכלס התכנית עושה.

matteo, אתה מטעה. התכנית אמנם בודקת אם יש איבר ב-x ששווה לאיבר ב-y, אבל היא לא עוצרת בכך.

אני אשמח לדעת במה הטעתי

פורסם

אני אשמח לדעת במה הטעתי

הערך לא יוצא 1. הפונקציה מונה את האיברים המופיעים בשני המערכים, כלומר 4.

פורסם

הערך לא יוצא 1. הפונקציה מונה את האיברים המופיעים בשני המערכים, כלומר 4.

צודק

אכן קישרתי בין 2 הלולאות הלא נכונות

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים