כותב |
|
Inj3ction משתמש חבר
הצטרף / הצטרפה: 09 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 149
|
נשלח בתאריך: 29 December 2005 בשעה 07:40 | | IP רשוּם
|
|
|
|
אוקיי לפני כמה ימים כשhts חזר, נכנסתי אליו והתחלתי לפתור בו אתגרים.
נתקעתי באתגר אחד של תכנות. המטרה של האתגר היא לבנות תוכנית שלוקחת 10
מילים מתוך קובץ טקסט שהאותיות שלהן מעורבבות ולסדר אותן בעזרת קובץ טקסט
עם אוצר מילים. אוקיי בינתיים נשמע קל.. התחלתי לבנות את התוכנית והכל היה
טוב, עד שנתקעתי בשלב קטן. בניתי בינתיים תוכנית שלוקחת מילה אחת מהקובץ
טקסט עם המילים המבולגנות ובודקת אותה מול כמה מילים מהקובץ אוצר המילים
ומסדרת את האותיות במילה(לפי סכום האסקיי של התוים). הכל עובד והכל
טוב. עכשיו מה שאני רוצה בעצם לעשות זה שהתוכנית תסדר ישר כמה מילים ולא
רק מילה אחת. בעיקרון הבעיה היא שאני מנסה לעשות שהפונקציה fgets() תרד רק
שורה אחת בקובץ בדיקה, ותרד כמה שורות בקובץ האוצר מילים... טוב הנה הקוד
של התוכנית:
קוד:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int c=0;
int ascii(char *a) {
c=0;
int i;
for (i=0;i<strlen(a) && i<20;++i) { c+=a; }
return c;
}
main() {
int n;
char a[20];
char b[20];
FILE *fp;
FILE *fp2;
fp=fopen("tmp.txt", "r");
fp2=fopen("wordlist.txt", "r");
if (fp==NULL||fp2==NULL) { printf("ErRoR"); getch(); abort(); }
printf("working...\n");
start:
{
fgets(a,20,fp);
ascii(a);
n=c;
fgets(b,20,fp2);
ascii(b);
if (n==c) { printf("%s,", b); }
else { goto start; }
}
getch();
}
|
|
|
עכשיו תריצו את התוכנית ותיצרו שתי קבצים באותה התיקייה: tmp.txt ו wordlist.txt שימו לדוגמא ב tmp.txt
וב wordlist.txt
קוד:
blablabla
jjj
nanana
hello
|
|
|
הפלט של התוכנית יהיה: hello. אני רוצה שהוא יבדוק יותר ממילה אחת ולא הצלחתי לפתור את זה עם לולאה פשוטה.
תודה מראש
|
חזרה לתחילת העמוד |
|
|
pitbull משתמש חבר
הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת הודעות: 209
|
נשלח בתאריך: 29 December 2005 בשעה 10:04 | | IP רשוּם
|
|
|
|
לא טוב אחי... אתה בודק עם סכום ערכי ה ascii של המילים שווה, נכון? אבל יכולות להיות כמה מילים שונות בעלות אותו סכום ascii
אממ לא חשבתי על זה הרבה אבל לגבי כמה מילים, אתה יכול להכניס כל מילה למערך ואז לעבוד עם המערך..
|
חזרה לתחילת העמוד |
|
|
Inj3ction משתמש חבר
הצטרף / הצטרפה: 09 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 149
|
נשלח בתאריך: 29 December 2005 בשעה 10:17 | | IP רשוּם
|
|
|
|
אני יודע אבל הם אמרו באתגר שאין מילים כאלה.. ובקשר למערך אפשר דוגמא?
|
חזרה לתחילת העמוד |
|
|
pitbull משתמש חבר
הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת הודעות: 209
|
נשלח בתאריך: 29 December 2005 בשעה 10:30 | | IP רשוּם
|
|
|
|
פשוט להכניס מילה מילה מתוך קובץ אוצר המילים לתוך מערך..[דו מימדי כמובן] אחר כך פשוט בלולאה כפולה להשוות כל איבר בודד במערך עם כל המילים המבולגנות.. אם אתה מניח שאורך מילה הוא מקסימום 20, אז גם תניח שנגיד מקסימום מילים שיכולות להיות באוצר מילים זה 50 או מה שתרצה... למרות שאפשר לעשות את זה עם זכרון דינאמי...
|
חזרה לתחילת העמוד |
|
|
Inj3ction משתמש חבר
הצטרף / הצטרפה: 09 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 149
|
נשלח בתאריך: 29 December 2005 בשעה 10:30 | | IP רשוּם
|
|
|
|
אהה הבנתי תודה אני ינסה
|
חזרה לתחילת העמוד |
|
|
SDX משתמש חבר
הצטרף / הצטרפה: 26 September 2005
משתמש: מנותק/ת הודעות: 106
|
נשלח בתאריך: 29 December 2005 בשעה 12:30 | | IP רשוּם
|
|
|
|
*עריכה:
אה סליחה לא שמתי לב שזה אמור להיות עם מילה מבולבלת
אז תבדוק את האורך של המילה ואת האסקיי (כמו שעשית)
__________________ Smoke weed evryday
~-===-~
|
חזרה לתחילת העמוד |
|
|
Inj3ction משתמש חבר
הצטרף / הצטרפה: 09 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 149
|
נשלח בתאריך: 29 December 2005 בשעה 12:33 | | IP רשוּם
|
|
|
|
-_-
אני מכיר אותה, ולא ענית לי על השאלה ולא על כלום. לא שאלתי איך להשוות תקרא מה שרשום..
|
חזרה לתחילת העמוד |
|
|
SDX משתמש חבר
הצטרף / הצטרפה: 26 September 2005
משתמש: מנותק/ת הודעות: 106
|
נשלח בתאריך: 29 December 2005 בשעה 12:36 | | IP רשוּם
|
|
|
|
בסדר.. ערכתי, בסה"כ באתי לעזור לך מה אתה עצבני
ולפי דעתי יש לך קוד גועל נפש, בחיים אבל בחיים אל תשתמש בgoto
יכלת להגיע לאותה תוצאה עם לולאה..
__________________ Smoke weed evryday
~-===-~
|
חזרה לתחילת העמוד |
|
|
Inj3ction משתמש חבר
הצטרף / הצטרפה: 09 October 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 149
|
נשלח בתאריך: 29 December 2005 בשעה 12:44 | | IP רשוּם
|
|
|
|
יותר קל לי ככה. אני לא מנסה לעשות את התכנית יעילה אלא רק העיקר שתעבוד.. ומה שאמרת ממש לא עזר לי כי יש לי את הבדיקה כבר בקוד.
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 29 December 2005 בשעה 16:07 | | IP רשוּם
|
|
|
|
נעול, נא להשתמש בעתיד בכותרות בהתאם לחוקי הפורום.
__________________ מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
|
חזרה לתחילת העמוד |
|
|