חידה

חידה../images/Emo35.gif

מה הבעיה בתוכנית הבאה
#include<iostream.h> int main() { int arr[5]; int *bb; int i; for (i=1;i<5;i++) { cin>>arr; } bb=arr; for (i=1;i<5;i++) { cout<<arr<<" "; } cin>>arr[1]; return 0; }

בקוד נירשם בשפת c++
 
לא ברור לי כל כך...

לא כתבת מה התוכנית אמורה לעשות. מהסתכלות פשוטה, אפשר לומר כך: 1. המשתנה bb מיותר לחלוטין, מכיוון שלא נעשה עמו דבר. 2. קלטת ארבעה ערכים ל arr[1..4] zz - ודילגת על arr[0] z. 3. פלטת את אותם ארבע ערכים עם רווח ביניהם, ולאחר מכן שוב קלטת מספר לתוך arr[1]z (תוך דריסת הערך הקודם). באמת לא ברור לי מה התוכנית אמורה הייתה לעשות...
 
.....

1) בעיקרון היא לא עושה כלום, אבל אם אתה מתעקש היא קולטת 4 איברים ופולטת 4 איברים. 2) נכון שכחתי שב-c האינדקס מתחיל ב-0. 3) דרשתי להכניס שוב פעם לתוך arr[1] z כדי שהחלון של התוכנית לא יסגר מייד וכך תוכל לראות את הפלט. אתה ממש לא בכיוון, חשוב למה הוספתי את המשתנה bb.
 

עריסטו

Active member
../images/Emo26.gif חידת המשך

מה הבעיה בתוכנית הבאה
#include<iostream.h> int main() { int arr[5]; char olmert=''; int i; for (i=1;i<5;i++) { cin>>arr; } for (i=1;i<5;i++) { cout<<arr<<" "; } cin>>arr[1]; return 0; }
 

עריסטו

Active member
תיקון

#include<iostream.h> int main() { int arr[5]; char olmert=' '; int i; for (i=1;i<5;i++) { cin>>arr; } for (i=1;i<5;i++) { cout<<arr<<" "; } cin>>arr[1]; return 0; }
 

עריסטו

Active member
../images/Emo128.gif לכולם + רמז

התשובה היתה נכונה גם אם הייתי כותב
char olmert='8'​
או
char olmert='p'​
או כל תו אחר.
 
למעלה