נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: הזזה מעגלית ב C++

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
sher
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 09 May 2011
משתמש: מנותק/ת
הודעות: 6
נשלח בתאריך: 09 May 2011 בשעה 16:55 | IP רשוּם
ציטוט sher

שלום רב,

אני צריכה לעשות תוכנה שמקבלת מהמשתמש את ספרות המערך

ואת מס' ההזזות שירצה לבצע (ימינה), זה מה שעשיתי ואני לא עולה על הבעיה:

#include <iostream>

using std::cout;

using std::cin;

using std::endl;

 

int numbers (int a[], int SIZE);

int displacement (int a[], int SIZE);

 

void main()

{

       const int SIZE=5;

       int a[SIZE];

       numbers(a,SIZE);

       displacement(a,SIZE);

 

}

 

int numbers (int a[], int SIZE)

{

      

       cout<<"please enter "<<SIZE<<" positive integers"<<endl;

       for(int i=0;i<SIZE;i++)

              cin>>a[i];

      

       return 0;

}

 

int displacement (int a[], int SIZE)

{

       int move,i,place;

 

              cout<<"please enter the number of times you want to move the integers (between 1-4)"<<endl;

              cin>>move;

             

      

              for (i=SIZE-1;i>=0;--i){

                     place= i+move;

 

                     if (place<SIZE){

                            a[place]=a[i];

                     }

 

                     if (place>=SIZE){

                            a[place%SIZE]=a[i];

                     }

              }

             

             

              for (i=0;i<SIZE;i++)

                     cout<<a[i]<<" ";

      

              return 0;

}

 

 

 

 

תודה מראש.

 

 

 

חזרה לתחילת העמוד הצג את כרטיס החבר של sher חפש הודעות אחרות של sher
 
GenEric
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 26 March 2011
מדינה: Israel
משתמש: מנותק/ת
הודעות: 8
נשלח בתאריך: 10 May 2011 בשעה 17:13 | IP רשוּם
ציטוט GenEric

שלום

הטעות העיקרית, שב-"for" שב-"displacement " את דורסת את הערכים, לפני שהשתמשת בהם.

חוץ מזה הייתי מצפה שכל מספר הזזות יעבוד, ולא בין 2 ל-4.

הערה: התוכנית ב-C ולא ב-++C. למה השימוש ב cin / cout?

בהצלחה!

 

אתר למפתחי תוכנה: www.devartplus.com



__________________
www.devartplus.com
חזרה לתחילת העמוד הצג את כרטיס החבר של GenEric חפש הודעות אחרות של GenEric בקר בדף הבית של GenEric
 
sher
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 09 May 2011
משתמש: מנותק/ת
הודעות: 6
נשלח בתאריך: 14 May 2011 בשעה 20:57 | IP רשוּם
ציטוט sher

נכון אני הסרתי את ההגבלה של 1-4, אני רק עדיין לא מצליחה לפתור את הבעיה

השתמשתי גם במשתנה זמני לערך הראשון אבל לא עזר לי.

יש לך הצעה?

תודה

חזרה לתחילת העמוד הצג את כרטיס החבר של sher חפש הודעות אחרות של sher
 
csandmath
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 28 November 2010
מדינה: Israel
משתמש: מנותק/ת
הודעות: 2
נשלח בתאריך: 15 May 2011 בשעה 19:58 | IP רשוּם
ציטוט csandmath

מותר רק זיכרון בגודל SIZE או מותר גם 2 כפול SIZE. כי אם כן
זה מאד פשוט.
אני מאמין שמותר כי זה עדיין באותו סדר גודל.
פשוט צריך לרוץ עד SIZE וכל אחד לרשום כמערך השני במקום
SIZE+times מודולו SIZE.

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

הצטרף / הצטרפה: 09 May 2011
משתמש: מנותק/ת
הודעות: 6
נשלח בתאריך: 17 May 2011 בשעה 19:23 | IP רשוּם
ציטוט sher

תודה רבה רבה, עזרת לי מאוד להבין
חזרה לתחילת העמוד הצג את כרטיס החבר של sher חפש הודעות אחרות של sher
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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