D-Bang פורסם 2003 בדצמבר 25 Share פורסם 2003 בדצמבר 25 אני צריך לכתוב תוכנית ב C שקולטת מחרוזת מסויימת והתוכנית צריכה להחסיר 1 מהתו הראשון של המילה הראשונה, 2 מהתו השני וכו'... עד שזה מגיע לרווח, ואז אותו דבר עבור המילה השנייה וכך הלאה...ובסוף צריך להדפיס את המחרוזת החדשה שהתקבלה.אני מבין שצריך לעבוד עם הקוד ASCII של התווים אבל אני לא ממש יודע איך לעבוד עם הפקודות שקשורות לזה.זו הלולאה שאני כתבתי, הקומפילציה עוברת בסדר אבל בהרצה הוא נתקע על ההתחלה (אני יכול לחזור לתוכנית רק בעזרת CTRL BREAK)מקווה שתוכלו לעזור לי: ???char stg[50]="bla rababa magula"while (i<50){ k=1; while (stg!=' ') { temp=(int)(stg)-k; stg=(char)(temp); k++; i++; }} קישור לתוכן שתף באתרים אחרים More sharing options...
Holy פורסם 2003 בדצמבר 25 Share פורסם 2003 בדצמבר 25 char stg[50]="bla rababa magula"for(i=0,k=1;stg != '\0';i++,k++){ if(stg != ' ') { k=0; continue; } stg=stg-k;}בעיקרון הטעות העיקרית שלך היא שאם הגעת לרווח אתה לא מעלה את ה-i ונתקע לנצח.והעבודה שברגע שאתה במילה האחרונה אתה תתקע לנצח בתוך הלולאה הפנימית ובחיים לא תגיע לחיצונית ותסיים את הריצה.אבל ככה זה נראה הרבה יותר יפה קישור לתוכן שתף באתרים אחרים More sharing options...
rk666 פורסם 2003 בדצמבר 25 Share פורסם 2003 בדצמבר 25 לא עקרוני, אבל יותר יפה לכתוב NULL במקום '0\'כמה שיותר מילים במקום אותיות == יותר קריא == מוצאים טעויות יותר מהר קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.