ABA


"עזרה בתוכנית בשפת C++"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13686 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13686
DanGati
חבר מתאריך 9.4.06
1694 הודעות
   07:47   08.11.06   
אל הפורום  
  עזרה בתוכנית בשפת C++  
 
   שלום
אני חדש בתחום ויש לי בעיה בנושא מסוים שפשוט אני לא מצליח לקלוט אותו
וזה הפונקציות של WHILE ו FOR
נתנו לי עבודה לבית המתחלקת לשניים:
1. כתוב תוכנית אשר תקלוט מהמשתמש מספר שלם a, 10 <= a <= 99 ותדפיס אותו במילים.
לדוגמא:

Please, enter integer number: 17
Seventeen

2. כתבו תוכנית הקולטת מספר שלם: a גדול או שווה ל 0 וגם קטן או שווה ל 19 , ומדפיסה את כל המספרים הדו-ספרתיים, שסכום ספרותיהם שווה ל-a. את המספרים יש להדפיס בסדר עולה.

לדוגמא:

Enter a number, please : 5
The numbers are: 14, 23, 32, 41, 50

אני עשיתי בדרך הארוכה של להגדיר כל מספר בין 0 ל 19 כ a וחישבתי על נייר את כל המספרים והכנסתי לתוכנה כך שהתוכנה פשוט רק מציגה לי את הערכים ולא עושה חישובים.
אני בטוח שיש דרך הרבה הרבה יותר קצרה לעשות את שני התרגילים הללו.
אם מישהו יוכל להסביר לי ולתת לי עזרה בנושא אני אשמח... הסברים כמו לילד "מפגר" יהיו אפילו יותר טובים כי אני ממש לא מבין את הנושא הזה ולא יודע איך לבנות את הפונקציה הנידרשת היא אפילו לא עולה לי בראש....


תודה רבה למי שיעזור



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

  האשכול     מחבר     תאריך כתיבה     מספר  
  אממ לגבי השאלה השניה Limp Bizkit 08.11.06 16:38 1
  כנס עידן_הכלי 08.11.06 17:19 2
     למה ידנית כל כך הרבה? MULI 08.11.06 17:24 3
         אפשרי.. אבל זה בכל זאת הרבה, לא הגיוני ושכחת גם עידן_הכלי 08.11.06 17:52 4
             לא קייסים, שוב MULI 08.11.06 18:15 5
                 הבנתי את הרעיון אבל שוב יש חריגים, נראה לי מיותר התרגיל עידן_הכלי 08.11.06 18:31 6
  הנה aaBlueDragon 08.11.06 21:14 7
     סחטיין MULI 08.11.06 21:51 8
         אופס MULI 08.11.06 21:52 9
         תודה aaBlueDragon 08.11.06 21:53 10
  תודה לכולכם אבל יש רק בעיה אחת DanGati 08.11.06 23:57 11
     הוא כתב לך פתרון ב C ולא ב C++ זה אותו דבר פשוט תתרגם עידן_הכלי 09.11.06 01:00 12
     תגובה מס' 1 ! Limp Bizkit 09.11.06 07:38 13

       
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   16:38   08.11.06   
אל הפורום  
  1. אממ לגבי השאלה השניה  
בתגובה להודעה מספר 0
 
   מה שעשית לא נקרא לעשות תרגיל, ודבר כזה ממש לא מקבלים
כל הקטע הוא שהתוכנה תעשה את כל החישובים לבד

בכל מקרה,
אחרי קליטת המספר, מבצעים לולאת for פשוטה מהערך 10 עד לערך 99
כל מס' מפרקים לספרות בודדות ובודקים האם סכום של שתי הספרות שהרגע פירקנו, שווה למספר שהקלדנו בהתחלה

לדוגמא המספר 23, מפרקים ל-2 ו-3, ובודקים האם 2+3 שווה למספר שהקלדנו

ונראה לי שהתרגיל הראשון הוא קצת ארוך...

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


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

   17:19   08.11.06   
אל הפורום  
  2. כנס  
בתגובה להודעה מספר 0
 
   תראה בקשר לסעיף הראשון, אני חושב שלא הבנת נכון,

הדרך היחידה לעשות את זה זה עם switch כלומר case וככה אתה צריך לכתוב 89 אפשרויות ידנית, זה לא הגיוני... אולי בין 0-9 או משהו כזה

בקשר לסעיף השני הנה:


#include <iostream.h>

main()
{
int a;
do
{
cout<<"Enter A number between 0-19: \n";
cin>>a;
}
while (a<0 || a>19);
for (int i=10;i<99;i++)
if (i/10 + i%10 == a) cout<<i<<' ';
cout<<'\n';
return 0;
}



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

   17:24   08.11.06   
אל הפורום  
  3. למה ידנית כל כך הרבה?  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 08.11.06 בשעה 17:27 בברכה, MULI
 
אתה שומר את teen בשביל ערכים בין 10 ל20
ובין 20 ל30 אתה שומר twenty
ובין 30 ל40 אתה שומר thirty.. וכו'
סה"כ צריך כל ספרה שזה 9, ועוד העשיריות שזה עוד 9

אפשר לשמור הכל ב2 מערכים של סטרינגים, מערך ספרות ומערך לעשיריות

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


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

   17:52   08.11.06   
אל הפורום  
  4. אפשרי.. אבל זה בכל זאת הרבה, לא הגיוני ושכחת גם  
בתגובה להודעה מספר 3
 
   את 11 ואת 12 שזה שונה

זה פשוט לא נשמע לי הגיוני לכתוב כל כך הרבה קייסים בשביל מטרה כ"כ מטומטמת...


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

   18:15   08.11.06   
אל הפורום  
  5. לא קייסים, שוב  
בתגובה להודעה מספר 4
 
   אלה 2 מערכים
אתה מפרק את הספרות מהמספר ולפי זה יודע מה להדפיס
בכל מקרה זה דווקא תרגיל נחמד...


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

   18:31   08.11.06   
אל הפורום  
  6. הבנתי את הרעיון אבל שוב יש חריגים, נראה לי מיותר התרגיל  
בתגובה להודעה מספר 5
 
  


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

   21:14   08.11.06   
אל הפורום  
  7. הנה  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 08.11.06 בשעה 21:25 בברכה, aaBlueDragon
 
הנה התרגיל הראשון.

להוריד מכאן:
http://www.mytempdir.com/1047391

דרך אגב! איך כותבים יפה כזה ככה שהטקסט של הקוד, כשאני עושה לו פה PASTE
שלא יהיה הפוך בגלל העיברית?


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

   21:51   08.11.06   
אל הפורום  
  8. סחטיין  
בתגובה להודעה מספר 7
 
   ערכתי לאחרונה בתאריך 08.11.06 בשעה 21:52 בברכה, MULI
 
עכשיו תשפר אותה שתגיד מספרים עד מליון
סתם באמת יפה.. ובקשר לקוד כתוב

תלחץ על "תגובה עם ציטוט" כדי לראות איך זה נעשה



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

   21:52   08.11.06   
אל הפורום  
  9. אופס  
בתגובה להודעה מספר 8
 
   ערכתי לאחרונה בתאריך 08.11.06 בשעה 21:53 בברכה, MULI
 


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

   21:53   08.11.06   
אל הפורום  
  10. תודה  
בתגובה להודעה מספר 8
 
   ערכתי לאחרונה בתאריך 08.11.06 בשעה 22:08 בברכה, aaBlueDragon
 
תודה, אז הנה זה:

#include<stdio.h>
#include<conio.h>
int ahadot(int num)
{
return num-((num/10)*10); //Could also do Num%10, but that wouldnt be intresting would it :P
}

int asarot(int num)
{
return num/10;
}

void ahadotname(int num)
{
if(ahadot(num)==1)
{printf("One");}
else if(ahadot(num)==2)
{printf("Two");}
else if(ahadot(num)==3)
{printf("Three");}
else if(ahadot(num)==4)
{printf("Four");}
else if(ahadot(num)==5)
{printf("Five");}
else if(ahadot(num)==6)
{printf("Six");}
else if(ahadot(num)==7)
{printf("Seven");}
else if(ahadot(num)==8)
{printf("Eight");}
else if(ahadot(num)==9)
{printf("Nine");}
}

void asarotname(int num)
{
if(asarot(num)==2)
{printf("Twenty");}
else if(asarot(num)==3)
{printf("Thirty");}
else if(asarot(num)==4)
{printf("Fourty");}
else if(asarot(num)==5)
{printf("Fifty");}
else if(asarot(num)==6)
{printf("Sixty");}
else if(asarot(num)==7)
{printf("Seventy");}
else if(asarot(num)==8)
{printf("Eighty");}
else if(asarot(num)==9)
{printf("Ninety");}
}

void main(void)
{
clrscr();
int num;
printf("Enter your number, and I will say it: ");
scanf("%d,",&num);
if(num>=10 && num<=99)
{
if(num/10==1)
{
if(ahadot(num)==0)
{printf("Ten");}
else if(ahadot(num)==1)
{printf("Eleven");}
else if(ahadot(num)==2)
{printf("Twelve");}
else if(ahadot(num)==3)
{printf("Thirteen");}
else if(ahadot(num)==5)
{printf("Fifteen");}
else
{ahadotname(num);
printf("teen");}
}
else
{
asarotname(num);
ahadotname(num);
}
}
else printf("Your number is out of range.");
getch();
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DanGati
חבר מתאריך 9.4.06
1694 הודעות
   23:57   08.11.06   
אל הפורום  
  11. תודה לכולכם אבל יש רק בעיה אחת  
בתגובה להודעה מספר 0
 
   אני מתחיל....
חוץ מזה
#include <iostream<
using namespace std;

אני לא יכול להוסיףכלום
לכן את שתיהתרגילים אני צריך לבנות בשרשראות של IF או WHILE
ואני צריך גם את הפיתרון איך הכעתם לזהואיךחשבתם על הפיתרון הזה ממש כמו לילד מפגר
כי הנושא של IF ו WHILE ממש לא ניקלט אצלי טוב עם סדרות של מספרים.

תודה שוב


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

   01:00   09.11.06   
אל הפורום  
  12. הוא כתב לך פתרון ב C ולא ב C++ זה אותו דבר פשוט תתרגם  
בתגובה להודעה מספר 11
 
   במקום printf תשתמש ב cout

תהיה יצירתי קצת..

אני עדיין חושב שהתבלבלת במה שבקשו, לא נראה כמו תרגיל הגיוני הוא נראה לי ארוך ומיותר..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   07:38   09.11.06   
אל הפורום  
  13. תגובה מס' 1 !  
בתגובה להודעה מספר 11
 
  

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


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

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

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



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