ABA


"2 תרגילים קשים בפסקל"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #7799 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 7799
DJ_gal

   17:57   18.01.04   
אל הפורום  
  2 תרגילים קשים בפסקל  
 
   ערכתי לאחרונה בתאריך 18.01.04 בשעה 18:27 בברכה, DJ_gal
 
1. תוכנית שקולטת מחרוזת באורך 40 תווים
התוכנית בודקת ומדפיסה כמה פעמים מופיעה תת המחרוזת בת שלושה תווים המקיימת את התנאים הבאים:
התו הראשון זהה לתו האחרון וגם התו האמצעי שונה מן התווים האחרים
דוגמא:
עבור הקלט: asnsdddabaklklgh הפלט 4.
תת המחרוזות בנות שלושת התווים העונות על התנאים הן:
sns,aba,klk,lkl

2. כתוב פונקציה בשם FirstLast המקבלת כפרמטר מספר שלם חיובי שאינו חד ספרתי ומחזירה מספר דו ספרתי שהספרה השמאלית שלו זהה לספרה השמאלית ביותר של הפרמטר והספרה הימנית שלו זהה לספרה הימנית ביותר של הפרמטר
דוגמא:
קלט:2875
פלט: 25


תודה רבה רבה רבה לעוזרים.........


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תשובה ל1 SpyCop 18.01.04 20:37 1
     ממ..הערה קטנה כדאי שתקרא SpyCop 18.01.04 20:50 2
         אם כבר הערתי..אז הנה התוכנית בנוגע להערה SpyCop 18.01.04 20:56 3

       
SpyCop

   20:37   18.01.04   
אל הפורום  
  1. תשובה ל1  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 18.01.04 בשעה 20:45 בברכה, SpyCop
 

program hw;
var
moo1,moo2:string;
i,incstring:integer;
begin
writeln('Enter The String');
readln(moo1);
i:= 1;
while (i <= length(moo1)) do
begin
moo2:= copy(moo1,i,3);
if (copy(moo2,1,1) = copy(moo2,3,1)) then
incstring:= incstring + 1;
i:= i + 3;
end;
writeln(incstring);
readln;
end.

אם הבנתי אותך נכון אז הסבר קצר על התוכנית:
התוכנית קולטת את המחרוזת המקורית ב
moo1
ומפרקת אותה בלולאה כל פעם לחלק עם 3 תווים
בלולאה קיים תנאי שמפרק את החלק שפורק מהמחרוזת המקורית ובודק אם התו הראשון בתת מחרוזת שווה לאחרון
אם כן מעלה את המונה של התת מחרוזות
אם לא ממשיך בלולאה
ובסוף מדפיס את המונה של התת מחרוזות
פשוט מאוד

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

תן לי לנסות להבין מה רצית
רצית לקלוט מספר שהוא לא חד ספרתי
שמדפיס את המספר הראשון והאחרון ביחד?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
SpyCop

   20:50   18.01.04   
אל הפורום  
  2. ממ..הערה קטנה כדאי שתקרא  
בתגובה להודעה מספר 1
 
   התוכנית שלי מחלקת מהתחלה ל3 חלקים כל פעם
אז יכול להיות שזה יתנגש אם מה שרצית
למשל
יהיה
rnsns
אז זה לא יקלוט שיש שם את המחרוזת
כי זה מחלק ל
rns
ns

אם אתה רוצה שזה ימצא גם תת מחרוזות כאלו
תגיד לי
אני אעשה לך..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
SpyCop

   20:56   18.01.04   
אל הפורום  
  3. אם כבר הערתי..אז הנה התוכנית בנוגע להערה  
בתגובה להודעה מספר 2
 
   אז ככה עשיתי
תקרא את ההערה ותבין מה שיניתי


program hw;
var
moo1,moo2:string;
i,incstring:integer;
begin
writeln('Enter The String');
readln(moo1);
i:= 1;
while (i <= length(moo1)) do
begin
moo2:= copy(moo1,i,1);
if (moo2 = copy(moo1,i+2,1)) then
incstring:= incstring + 1;
i:= i + 1;
end;
writeln(incstring);
readln;
end.

קלט: rnsns
פלט: 2
הסבר:
בודק אם כל צ'אר במחרוזת שווה לצ'אר שבא 2 מקומות אחריו
הכוונה שלי היא שנגיד ונקלט
rnsns
אז זה יגיד לך 2 מכיוון שהוא רואה שיש 2 תת מחרוזות שתואמות לתנאי
גם
nsn
וגם
sns

אם זה לא מה שרצית
תסתכל על התכנית הראשונה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net