פורסם 2012 בינואר 1713 שנים שלום לכולם מי שיוכל לעזור לי להבין את זה אני אשמח מאודבתרגיל אני צריך לכתוב פונקצייה שבודקת אם מחרוזת אחת היא הסוף של השנייה לדוגמא ASDFG וDFG.לא הבנתי איך אני מקדם את הכתובת בפויינטר ואיך אני קורא לפונקצייה מהתוכנית הראשית (עם & או בלי או מה שלא יהיה)זה הקוד של הפונקצייה#include<iostream>#include<string.h>using namespace std;void strend(char* s, char* t){ int len,len2,cheakfrom,i; len=strlen(s); len2=strlen(t); cheakfrom=len-len2; for(i=(*s+cheakfrom);i<len;i++ ) if((*s+cheakfrom)==*t) cheakfrom++; *t++; if(cheakfrom == len) cout<<"ok\n"; else cout<<"no\n";}
פורסם 2012 בינואר 1713 שנים מחבר ואם מישהו יכול גם על הרך להסביר לי פה איך אני משתמש במערכים ובפויינטרים כי לא ממש הבנתי את החלק הזה
פורסם 2012 בינואר 1713 שנים למה לא פשוט להשתמש ב- strncmp אם גם ככה יש לך את : if (strncmp (*(s + checkfrom),*t, len2 ) == 0) cout<<"ok\n";else cout<<"no\n";מציע לך לקרוא tutorial בנושא:http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/BitOp/pointer.html
פורסם 2012 בינואר 1913 שנים דבר ראשון, כאשר אתה מעביר מצביע לפונקציה, אתה יכול להשתמש בו כמערך.. כלומר: t[index] = 'a';דבר שני, שים לב שכאשר אינך פותח סוגריים מסולסלות, אינך מייצר בלוק, ולכן רק המשפט הראשון של הלולאה או ההתניה יחשב כשייך לה..לדוגמא אצלך בקוד: *t++;לא יהיה שייך ל for וגם לא ל if...מה שהופך את הקוד שלך ללא נכון ובטח לא מה שאתה התכוונת.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.