פורסם 2014 בינואר 1011 שנים שלום! נתבקשנו לבצע את המטלה הבאה:כתבו פונקציה שמקבלת מחרוזת ויוצרת מחרוזת חדשה חסרת תווים שהם ספרה או רווח. התוכנית תדפיס את המחרוזת חדשה.דוגמת הרצה:Enter string: 123StudentsYou’ve entered: 123StudentsNew string: Students[U]הנחיות:[/U]אין להשתמש בפונקציות ספריה מ-string.h לפיתרון הבעיה.אסור לשנות את המחרוזת !עליכם להשתמש במצביעים ולא באינדקסים!אז המשימה אומנם לא הייתה קשה מידי והתוכנית רצה בסדר גמור, מה שכן אני לא בטוח אם ביצעתי נכון את המטלה, שימוש בפוינטרים במקום באינדקסים ואשמח אם תציצו על הקוד ותומרו אם צריך לשנות והיכן על מנת שזה יהיה עם פוינטרים במקום עם אינדקסים.#include<string.h>#define N 20void newstring(char str[],int len);void main(){ int len,i = 0; char str[N]; printf("Type a string: "); gets(str); while(str[i] != '\0') { i++; } printf("You've entered : %s \n",str); newstring(str,i); }void newstring(char str[],int len){ int i; printf("the new string : "); for(i = 0; i < len; i++) { if((*(str+i) == ' ') ||(*(str+i) >= '0' && *(str+i) <= '9')) { continue; } printf("%c" ,*(str+i)); } printf("\n");}#include<stdio.h> נערך 2014 בינואר 1111 שנים על-ידי xXx Lid
פורסם 2014 בינואר 1111 שנים מחבר תודה, אני יודע מזה פוינטר בעברית כמובן, חל איזה בלבול קטן . ההודעה תוקנה.
פורסם 2014 בינואר 1111 שנים בדרך כלל פונקציה שמקבלת מחרוזת לא צריכה לקבל את האורך שלה - היא צריכה להסיק את האורך בעצמה.חוץ מזה, אמנם טכנית לא השתמשת באינדקסים, אבל נראה לי שהכוונה של התרגיל הייתה לא להשתמש גם במשתנה אינדקס מטיפוס int.
פורסם 2014 בינואר 1111 שנים מחבר חוץ מזה, אמנם טכנית לא השתמשת באינדקסים, אבל נראה לי שהכוונה של התרגיל הייתה לא להשתמש גם במשתנה אינדקס מטיפוס int.זאת בדיוק השאלה שלי, אז איך אני ממשיך מפה הלאה? ומשנה את זה, בדיוק בקטע הזה הסתבכתי...
פורסם 2014 בינואר 1111 שנים מחבר אני יודע שניתן להזיז ובלולאה של הפונקציה רשמתי, str++; במקום str+i אבל זה גרם לתוכנית לעבוד בצורה לא תקינה והיא הייתה מעתיקה את המחרוזת רק עד הרווח במקום לדלג עליו ולהמשיך הלאה.
פורסם 2014 בינואר 1111 שנים מחבר אז תמצא מה הבאג שלך ותתקן אותו. מה הייתי עושה ללא העצות שלך . אתה חושב שלא ניסיתי? אם הייתי מוצא או מצליח להבין למה זה קורה לא הייתי שואל פה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.