שלום :)

PHTLS

New member
שלום :)

אוקיי.. התחלתי תוכנה ב-C.. אבל היא לא עובדת.. אם למישהו יש כוח לבדוק למה.. אני אודה לו.. התוכנה צריכה לקבל קלט מסויים, להצפין אותו (חיבור של כל אות עם ערך אחר - המפתח [בתוכנה המסויימת הזאת - "aaa"]). לאחר ההצפנה היא צריכה להדפיס את המילה המקודדת, ואז לפענח אותו שוב - ולהדפיס את התוצאה. #include <iostream.h> #include <conio.h> char vigChrEncrypt(char c1,char c2) { int tmp; // c1-=33; // c2-=33; tmp=((c1-'a')+(c2-'a')+26)%26; tmp+='a'; return tmp; } string vigStrEncrypt(string src,string Key) { string tmp=src; for(int i=0;i<src.length();i++) tmp=vigChrEncrypt(src,Key[i%Key.length()]); return tmp; } char vigChrDecrypt(char c1,char c2) { int tmp; char chTmp; // c1-=33; // c2-=33; tmp=((c2-c1)+26)%26; // ביטול שליליים tmp+='a'; // chTmp=(char)tmp; return tmp; } string vigStrDecrypt(string src,string Key) { string tmp=src; for(int i=0;i<src.length();i++) tmp=vigChrDecrypt(src,Key[i%Key.length()]); return tmp; } int main() { string Tzofen; string sod; // string Key="omer"; cin>> Tzofen; cout<<endl; sod=vigStrEncrypt(Tzofen,"omer"); cout<<sod; cout<<endl; cout<< vigStrDecrypt(sod,"omer"); getch(); return 0; } עומר
 

vinney

Well-known member
למה, למה ככה?

למה לא ליישר קוד? למה לא להגיד מה בעצם לא עובד?
 

PHTLS

New member
מה לא עובד ? אני לא יודע..

זה פשוט לא יוצא נכון... #include <iostream.h> #include <conio.h> char vigChrEncrypt(char c1,char c2) { int tmp; // c1-=33; // c2-=33; tmp=((c1-'a')+(c2-'a')+26)%26; tmp+='a'; return tmp; } string vigStrEncrypt(string src,string Key) { string tmp=src; for(int i=0;i<src.length();i++) tmp=vigChrEncrypt(src,Key[i%Key.length()]); return tmp; } char vigChrDecrypt(char c1,char c2) { int tmp; char chTmp; // c1-=33; // c2-=33; tmp=((c2-c1)+26)%26; // ביטול שליליים tmp+='a'; // chTmp=(char)tmp; return tmp; } string vigStrDecrypt(string src,string Key) { string tmp=src; for(int i=0;i<src.length();i++) tmp=vigChrDecrypt(src,Key[i%Key.length()]); return tmp; } int main() { string Tzofen; string sod; // string Key="omer"; cin>> Tzofen; cout<<endl; sod=vigStrEncrypt(Tzofen,"omer"); cout<<sod; cout<<endl; cout<< vigStrDecrypt(sod,"omer"); getch(); return 0; }
 
יש לי טיפ |טיפ|../images/Emo26.gif

אם תציג את הקוד כמו שצריך - אז אולי... אולי יהיה למישהו כוח לקרוא את הקוד:
#include <iostream.h> #include <conio.h> char vigChrEncrypt(char c1, char c2) { int tmp; // c1 -= 33; // c2 -= 33; tmp = ((c1 - 'a') + (c2 - 'a') + 26) % 26; tmp += 'a'; return tmp; } string vigStrEncrypt(string src, string Key) { string tmp = src; for(int i = 0; i < src.length(); i++) tmp = vigChrEncrypt(src, Key[i % Key.length()]); return tmp; } char vigChrDecrypt(char c1,char c2) { int tmp; char chTmp; // c1 -= 33; // c2 -= 33; tmp = ((c2 - c1) + 26) % 26; // ביטול שליליים tmp += 'a'; // chTmp = (char)tmp; return tmp; } string vigStrDecrypt(string src, string Key) { string tmp = src; for(int i = 0; i < src.length(); i++) tmp = vigChrDecrypt(src, Key[i % Key.length()]); return tmp; } int main() { string Tzofen; string sod; // string Key = "omer"; cin >> Tzofen; cout << endl; sod = vigStrEncrypt(Tzofen, "omer"); cout << sod; cout << endl; cout << vigStrDecrypt(sod, "omer"); getch(); return 0; }
 

IdanR

New member
ישנו פיצ'ר קטן ונחמד ...

שנוצר לפני 3 שנים בערך, אחרי שהתלוננתי על כך שאין אף דרך נורמלית לצרף קטעי קוד להודעות הפורום
(וגם לא ניתן היה לצרף קבצי txt). כל שעלייך לעשות זה ללחוץ על הלינק [תחילת קוד] שנמצא בתחתית תיבת הטקסט בה אתה כותב את ההודעה, להדביק את הקוד וללחוץ על [סיום קוד]
 
לגבי התרגיל...../images/Emo26.gif

אין לי כוח וזמן לבדוק את הקוד - אבל תבדוק אתה משהו קודם: יש אותיות שהוא יודע לתרגם בסדר (כלומר - אחרי ההלוך-חזור הן חוזרות לעצמן)? תבדוק למשל אם a,b,c עובדות טוב ו-x,y,z לא - או ההפך... יש לי הרגשה שהמודולו שם עושה לך בלאגן בתרגום חזרה... (אם הבדיקה שתעשה תעלה משהו - אז אתה במרחק if אחד קטן מפתרון הבעיה)
 

selalerer

New member
עצה:

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