פויינטרים c++. 3 שאלות. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

פויינטרים c++. 3 שאלות.


מתחיל1

Recommended Posts

שלום ושבוע טוב! שמי עידן ואני סטודנט שנה א לה. תוכנה.

נתקלתי בכמה שאלות שלא הצלחתי לפתור עקב חיסור ארוך של 4 שיעורים{מושתל כליות..:\}

אני יודע שזה לא מקצועי לבקש פתרונות אבל אינני מצליח לפתור 3 מתוך 5 שאלות. אשמח לעזרה.

*שימוש בספריות <iostream> ופונקצית strln בלבד.

אני כבר אעלה את הדרך שלי לפתרון השאלה הראשונה.

.

", תו – .

פלט – מצביע לתו שבמילה .

את כל האיברים וכתובתם אשר באינדקס 0,N,2*N,3*N,4*N עד סוף המערך

4,6,7,8,9} – הפונקציה תקבל מצביע לתחילת מערך זה.

גודל המערך : 5,

פרמטר – 2.

ערך כתובת

4 &&( כתובת המשתנה )

7 &&( כתובת המשתנה )

9 && ( כתובת המשתנה )

void CheckNumber(int* startPointer, int* endPointer, int val);

דוגמא :

מערך -

[table][tr][td] כתובות[/t]

[table][tr][td]

1000

[/td] [td]

1004

[/td] [td]

1008

[/td] [td]

1012

[/td] [td]

1014

[/td] [td]

ערך

[/td] [td]

2

[/td] [td]

3

[/td] [td]

3

[/td] [td]

3

[/td] [td]

3

[/td][/tr][/table]

הפונקציה תקבל לדוגמא – 1000,1008,3 ותחזיר במקרה זה – 2

CheckNumber(1000,1008,3) = 2;

CheckNumber(1008,1014,3) = 3;

CheckNumber(1000,1003,3) = 1;

[/td][/tr][/table]

קישור לתוכן
שתף באתרים אחרים

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

בשימוש בפונקציות strings אני די מצליח לפתור..אבל בלי אני ממש מתבלבל.

מישהו יכוללהראות לי איך התרגיל הראשון?

כתיבת תוכנית המקבל מצביע למחרוזת תווים ותו בודד ומחזירה א תה מצביע למופע האחרון של התו. במידה והתו לא קיים הפונקציה תחזיר 0.

קישור לתוכן
שתף באתרים אחרים

 זו בערך הדרך למציאת תו..לא האחרון ולא המיקום...אני לא מצליח בדיוק לסדר 
אותו כמו שצריך:
#include<iostream>

usingnamespace std;

int check_word(
char str[], char word[])


{
int
i=0;

while (str
!='\0')




i++;
return
i;

int
j=0;

for(j;j!='\0';j++)

return j;

char*
ptrs=&str;

char*
ptrw=&word[j];

if
(*ptrs==*ptrw)


cout<< str;

else cout<<
"noo";

return 0;

}

void
main()

{ char str[]={0};

char
word[1]={0};

int
i=0;

cout<<"
enter str ";

cin>> str;

cout<<
" enter one word";

cin>>
word;

i=check_word(str,word);}

תודה גיל!

קישור לתוכן
שתף באתרים אחרים

]מה אני לא עושה נכון עכשיו? אני ממש מצטער שאני שואל שאלות דבליות, אך אין לי את 
מי לשאול.

#include
<iostream>

usingnamespace std;

char* check_word (
char *str, char word)


{
int
i=0;

while (str
!='\0')




i++;
return
i;

char*
ptrs=&str;

if
(*ptrs==word)


cout<< str;

else cout<<
"noo";

return 0;

}

void
main()

{ char* check_word(char *str, char word);

cout<<"
enter str ";

cin>> str;

cout<<
" enter one word";

cin>>
word;

}

קישור לתוכן
שתף באתרים אחרים

לוגית אני יודע ש אני צריך להכניס מחרוזת ותו. לרוץ על המחרוזת עד למציאת \0 , לכוון לה פוינטר לתחילת המחרוזת ולהשוות את התו לכל אות במחרוזת. וכאשר מוצאים אות בודקים עד סוף המחרוזת אם יש אות אחריה כלומר רצים עד ה\0 אם אין. מוצאים את המיקום האחרון(&?) . במידה ואין את התו - זה קורה כאשר השוונו את הכל והגענו ל\0 בלי התאמה...התוכנית תוציא NULL-0

אני לא מצליח ליישם את הלוגיקה בשפת C++ אשמח אם מישהו ייתן לי תשובה.

קישור לתוכן
שתף באתרים אחרים

אוקי

קח שתי תשובות

הראשונה כמו שאמרת, ריצה על כל המחרוזת

char* check_word( char *str, char word){
char* find=NULL;
while (str[0]!='\0') {
if (str[0]==word)
find=str;
++str;
}
return find;
}

והשניה, אמרו לך שמותר להשתמש בstrlen, אז בוא נרוץ מהסוף להתחלה

char* check_word( char *str, char word){
char *Temp = str + strlen(str);

while (str!=Temp) {
if (Temp[0]==word)
return Temp;
--Temp;
}
return NULL;
}

קישור לתוכן
שתף באתרים אחרים

אוקי

קח שתי תשובות

הראשונה כמו שאמרת, ריצה על כל המחרוזת

char* check_word( char *str, char word){
char* find=NULL;
while (str[0]!='\0') {
if (str[0]==word)
find=str;
++str;
}
return find;
}

והשניה, אמרו לך שמותר להשתמש בstrlen, אז בוא נרוץ מהסוף להתחלה

char* check_word( char *str, char word){
char *Temp = str + strlen(str);

while (str!=Temp) {
if (Temp[0]==word)
return Temp;
--Temp;
}
return NULL;
}

דבר ראשון תודה רבה !

עכשיו int main אני מכניס char str ,char word

char* check_word( char *str, char word){

ושוב אני נותן לה פונקציה כשאני קורא לה char* ?

קישור לתוכן
שתף באתרים אחרים

התוכנית ש"ירח אפל" העלה היא תוכנית המוצאת מיקום של תו ומדפיסה מעין תת מחרוזת מן התו הזה...איך מוצאים מיקום אחרון של תו?

יום ראשון בפורום מקבל את ההערה עם הדאבל פוסטינג. לשאלת הקוד. באיזה חלק של הקוד אני אומר לו להציג את &str המיקום? אני יודע שחסר לי המון ידע אך סה"כ ביקשתי תשובה, אני לא פה בשביל להציק לאף אחד או להקפיץ הודעות במונה שלי. סה"ב מבקש פתרון לתשובה. תודה על הסבלנות

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...