שלום!!

vaska57

New member
שלום!!

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

זויברג

New member
רעיון,

אתה רץ על הטקטס, בלולאת FOR או WHILE, נתון לשיקולך, ומשתמש בדגל, למשל bFlagWord, אם האות הנוכחית היא רווח אם מקף, הדגל הוא False אם זאת אות כלשהי, הערך של הדגל הוא True. כל פעם שאתה משנה את הערך של הדגל, אחרי שאתה בודק אם זאת אות או רווח, אם יש אות, אתה בודק אם הערך הקודם של הדגל היה False, ואם כל, אתה מוסיף למשתנה מספר כלשהו עוד 1. מימוש:
#include <string.h> #include <stdlib.h> char *str = strdup("hello man, you need to count the words..."); int index = 0, iWordCount = 0; bool bFlagWord = false; while (str[index] != NULL) { if ((str[index] == ' ') || (str[index] == '-')) bFlagWord = false; else { if (!bFlagWord) iWordCount++; bFlagWord = true; } index++; } printf("The string: \"%s\" has %d char, and %d words in it...\n",str,index,iWordCount); free(str);​
אם אתה רוצה, אפשר לשפר את זה עוד, שיבדוק גם נקודות ופסיקים, אולי לספור גם אותיות פחות רווחים וכו'...
 

vaska57

New member
תודה, אבל לא למדתי שום string

ולא שום דבר עם דגלים,אולי יש דרך אחרת?? אני רק השנה התחלתי ללמוד אבל אנחנו לא מתקדמים בכלל!!
 

זויברג

New member
הסבר,

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

vaska57

New member
ועוד משהו.. אני צריך לפתח תוכנה

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

gmorph

New member
תקשיב, אנחנו לא פה בשביל שיעורי בית

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