אז אני מצרפת קובץ

michal121

New member
אז אני מצרפת קובץ

ועדיין התוכנית לא רצה לי תוכנית קולטת מערך דו מימדיי באורך 10 שורות ו10 עמודות שמכיל אותיות, ומערך חד מימדי באורך 3 שמכיל מילה בת 3 אותיות וצריך להדפיס כמה פעמים המילה במערך החד מימדי מופיעה במערך הדו מימדי המילה יכולה להיות בצורה אנכית ואופקית שאלה נוספת מה תפקיד הפונקציה include<conio.h תודה מיכל
 

ליאור ב

New member
מה את מחפשת?

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

michal121

New member
הסבר

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

ליאור ב

New member
הסבר קצר.

הרעיון די פשוט. קיימות דרכים שונות לבצע את המשימה, אני אתן לך את הפשוטה(וכנראה המתאימה לך מביניהן. אם זכור לי נכון, רק למדת מערכים לא מזמן). יש להגדיר משתנה 0=counter שיחזיק את מספר המופעים של המילה הנדרשת לחיפוש. כמו-כן יש להגדיר משתנה wordIndex=0 שיחזיק את האינדקס של האות במילה אותה אנחנו מחפשים. כמובן נגדיר מטריצה(מערך דו-מימדי) המכיל אותיות, וכן מערך חד-מימד המכיל את אותיות המילה הנדרשת לחיפוש. שיטת החיפוש תתבצע בשני שלבים כפולים. 1.א. מעבר על המערך לאורכו, מלמעלה למטה. ב. מעבר על המערך לאורכו, מלמטה למעלה. 2.א. מעבר על המערך לרוחבו, מימין לשמאל. ב. מעבר על המערך לרוחבו, משמאל לימין. בכל איטרציה נבדוק אם האיבר במטריצה שווה לאות במילה, באינדקס wordIndex. א. אם לא נמשיך לחפש. ב. אם כן נקדם את ++wordIndex ונמשיך לחפש. ב.1. אם לאחר קידום wordIndex ערכו שווה למספר האותיות במילה הנדרשת לחיפוש נאפס אותו, נקדם את ++counter ונמשיך הלאה בחיפוש. *** חשוב לזכור שבהגיענו לסוף/תחילת שורה/עמודה יש עלינו לאפס את wordIndex על-מנת שלא נספור מופע לא רציף. מיכל, אם לא מובן משהו תשאלי. בכל מקרה הקוד מוכן, אם תתיאשי.
ליאור.
 

michal121

New member
דיי אני נואשת

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

ליאור ב

New member
נו....

כתבתי קוד ב- ++C. כל ההבדל הוא ש ב- ++C יש cout, cin ב- C יש printf scanf. אם אמצא הבדלים נוספים אכתוב בהערות. את התוכנית אשלח לך בערב, כרגע אני בלימודים.
כשתקבלי את התוכנית, תשבי ותנסי להבין מה קורה שם.(אחרת לא למדת כלום)
דרך אגב איפה את לומדת C?
ליאור.
 

ליאור ב

New member
הקוד המיוחל...

הצמדתי קובץ עם הקוד. התוכנית לא מטפלת בבעיה שהציג yair24 . (כמו AAA שמופיע 3 פעמים ב- AAAAA) תזכרי, אם לא ישבת והבנת את התוכנית, לא למדת כלום. ליאור.
 

ליאור ב

New member
דרך אגב...

#include <conio.h>​
זאת פקודה המיבאת את ה- Header שנקרא Conventional i/o . אני לא סגור על השם אבל זה "הדר" המטפל בקלט/פלט. ליאור.
 

yair24

Member
ווי ווי

איזה תרגיל מבעס!! רק מהמחשבה על התרגיל הזה אני מתבעס מזל שאני לא צריך לעשות את זה
יאיר צוות "המפתח לבית הספר"
 

zontar

New member
לא כלכך ....->

תסרקי את המערך ע"פ
for(i=0;i<10;i++) for(j=0;j<10;j++) ואחר כך : for(j=0;j<10;j++) for(i=0;i<10;i++)​
 

yair24

Member
אבל מצד שני...

התרגיל לא כל כך מסובך את צריכה לרוץ אולי פעם מלמעלה למטה על המטריצה ופעם משמאל לימין ולספור כמה פעמים המחרוזת מופיעה שם דרך אגב שאלה: אם המחרוזת מופיעה יותר מפעם אחת בתוך אותה המילה כמו למשל המחרוזת AAA מופיעה פה: AAAAA 3 פעמים נכון? או שאולי היא מופיעה פה רק פעם אחת? את צריכה להגדיר את זה בתור התחלה תתחילי עם תוכנית שמזהה את זה רק פעם אחת ואחרי זה תשכללי אותה שתזהה גם שזה יותר מפעם אחת (3 פעמים) הבנת את הבעיתיות שכאן?
יאיר צוות "המפתח לבית הספר"
 
למעלה