פורסם 2013 באפריל 812 שנים התשובה צריכה להיות row=1 row=2 row=3אצלי יוצא כל הזמן noכאשר אני מוריד את הwhile השני, התשובה שאני מקבל תקינה. כאשר אני מוריד את הwhile הראשון ומדפיס סכום כדי לבדוק שהתוכנית גוזרת נכון, זה גם תקין אך ביחד משום הם לא עובדים. #include<stdio.h>void main(){ int mat[4][4]={{1,3,7,5},{3,2,35,8},{2,5,6,8},{3,6,5,16}}; int vec[3]={16,21,2},sum,sum2,s,s2,i,j,flag; flag=0; for(i=0;i<4;i++){ sum=sum2=0; for(j=0;j<4;j++){ while(mat[i][j]!=0){ s=mat[i][j]%10; sum=sum+s; mat[i][j]=mat[i][j]/10; } while(mat[j][i]!=0){ s2=mat[j][i]%10; sum2=sum2+s2; mat[j][i]=mat[j][i]/10; } } if(sum==vec[1]){ printf("row=%d ",i); flag=1; } if(sum2==vec[1]){ printf("col=%d ",j); flag=1; } } if(flag==0) printf("no\n"); } תודה מראש לעוזרים!
פורסם 2013 באפריל 812 שנים ומדוע שהקוד יעבוד? הרי תוך כדי שאתה עובר על המטריצה, אתה מאפס את כל האיברים שלה. כל עוד אתה משתמש בכל איבר רק פעם אחת זה לא בעיה, אבל הקוד שלך משתמש בכל איבר פעמיים.
פורסם 2013 באפריל 812 שנים מחבר ומדוע שהקוד יעבוד? הרי תוך כדי שאתה עובר על המטריצה, אתה מאפס את כל האיברים שלה. כל עוד אתה משתמש בכל איבר רק פעם אחת זה לא בעיה, אבל הקוד שלך משתמש בכל איבר פעמיים.אז מה בעצם אני צריך לעשות כדי שהאיברים לא יתאפסו כאשר אני מגיע לwhile השני?קצת קשה לי להבין.
פורסם 2013 באפריל 812 שנים מחבר לא נעים לי אבל אני לא מבין ת'טרמינולוגיה . אם זה אפשרי, תסביר לי בשפה פשוטה למאותגרים כמוני.
פורסם 2013 באפריל 812 שנים נניח שיש לך משתנה בשם a. כשאתה עושה a=5, אתה משנה אותו. כשאתה עושה a = a+1, אתה משנה אותו.אותו דבר כשיש לך מטריצה. כשאתה עושהmat[x][y] = 5אתה משנה את האיבר במקום ה-x,y במטריצה. דהיינו, אתה משנה את איברי המטריצה.תאר לך שהיו מוסיפים את הדרישה הבאה: בסוף התכנית, אסור שהמטריצה תהיה שונה ממה שהיא הייתה בהתחלה (לדוגמה, אם אתה עכשיו רוצה להפעיל עליה עוד פעולות כלשהן). איך תעשה את זה?
פורסם 2013 באפריל 812 שנים מחבר נניח שיש לך משתנה בשם a. כשאתה עושה a=5, אתה משנה אותו. כשאתה עושה a = a+1, אתה משנה אותו. אותו דבר כשיש לך מטריצה. כשאתה עושה mat[x][y] = 5 אתה משנה את האיבר במקום ה-x,y במטריצה. דהיינו, אתה משנה את איברי המטריצה. תאר לך שהיו מוסיפים את הדרישה הבאה: בסוף התכנית, אסור שהמטריצה תהיה שונה ממה שהיא הייתה בהתחלה (לדוגמה, אם אתה עכשיו רוצה להפעיל עליה עוד פעולות כלשהן). איך תעשה את זה? הצלחתי תודה ענקית ידידי!
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.