פורסם 2012 בדצמבר 2412 שנים יהתרגילתמונה מיוצגת במחשב על-ידי מערך דו-מימדי שכל איבר בו הוא ייצוג של פיקסל בתמונה. התוכן/מספר מייצג את הצבע של הנקודה.טשטוש תמונה מתבצע באמצעות החלפה של כל פיקסל בערך הממוצע (המעוגל כלפי מעלה) של הפיקסלים שמסביבו (כולל אותו עצמו)עכשיו בניתי את רוב התוכניתרק חסר לי את החלק של ההדפסה של המטריצה החדשהשקצת אני הסתבכתי מאיפה לקחת אותה-אם מישהו יכול לתת לי כיוון זה יהיה נהדרודבר שנילמדנו שבהגדרה של פונקציה שמקבלת מטריצה מספיק לרשוםint fucn (int a[][N]אבל שאני משאיר את הסוגריים הראשונים ריקים זה לא מסתדר הקוד#include <stdio.h>#define N 6#define M 8int ifInside (int rows, int cols);int avgAroundLocation(int pic[N][M], int rows, int cols);void copyToNewArr(int fromArr[N][M], int toArr[N][M]);void blurPicture(int pic[N][M]);int main() { int Matrix[N][M] = //defining the maxtrix(6 by { 1,2,3,4,5,6,7,8, 8,7,6,5,4,3,2,1, 1,2,3,4,5,6,7,8, 8,7,6,5,4,3,2,1, 1,2,3,4,5,6,7,8, 8,7,6,5,4,3,2,1 }; blurPicture(Matrix); getch(); return 0;}int ifInside (int rows, int cols)//Checking if there are any number around { if (rows<0 || rows>=N || cols<0 || cols>=M) return 1; return 0;}int avgAroundLocation(int pic[N][M], int rows, int cols)//giving the avg for a selected "pixel"{ int i, j; int sum=0, next=0; for (i=rows-1;i<=rows+1;i++) for (j=cols-1;j<=cols+1;j++) if (!ifInside(i,j)) { sum+=pic[i][j]; next++; } return (int)((float)sum/next + 0.5); }void copyToNewArr(int fromArr[N][M], int toArr[N][M])//copying the the results to the new matrix{ int i, j; for (i=0;i<N;i++) for (j=0;j<M;j++) toArr[i][j]=fromArr[i][j];}void blurPicture(int pic[N][M])//main function which "bluring" the matrix{ int i, j; int newArr[N][M]; for (i=0;i<N;i++) for (j=0;j<M;j++) newArr[i][j]=avgAroundLocation(pic,i,j); copyToNewArr(newArr,pic);}
פורסם 2012 בדצמבר 2412 שנים מה זאת אומרת "זה לא מסתדר"? תפרט.חוץ מזה, תציין בהודעה ובכותרת באיזו שפה אתה כותב.
פורסם 2012 בדצמבר 2412 שנים מחבר מה זאת אומרת "זה לא מסתדר"? תפרט.חוץ מזה, תציין בהודעה ובכותרת באיזו שפה אתה כותב.רשמתישאני לא יודע בדיוק מאיפה "לשאוב" את הפונקצייה החדשה
פורסם 2012 בדצמבר 2412 שנים מה זאת אומרת מאיפה לקחת אותה? אתה צריך לכתוב אותה, כמו שכתבת את שאר הפונקציות.
פורסם 2012 בדצמבר 2412 שנים מחבר כן הבנתי בסוףהנה השינוייםvoid blurPicture(int pic[N][M])//main function which "bluring" the matrix{ int i, j; int newArr[N][M]; for (i=0;i<N;i++) for (j=0;j<M;j++) newArr[i][j]=avgAroundLocation(pic,i,j); copyToNewArr(newArr,pic); printArray(newArr);}void printArray (int newArray[N][M])//printing the array{ int i, j; for (i=0;i<N;i++) { for (j=0;j<M;j++) printf("%d\t", newArray[i][j]); printf("\n\n\n"); }}אגב יש מצב אתה עונה לי השאלה השנייה?
פורסם 2012 בדצמבר 2412 שנים מחבר אני אוכל לענות אם תפרט יותר (לזה התייחסתי בהודעה הראשונה שלי).לא משנה גם עם זה הסתדרתיבהכרזה עשיתי את הסדר הפוך בטעות
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.