נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: צריך עזרה קטנה..

(נושא נעול נושא נעול)
שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
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
קוד:

ohlel

וב wordlist.txt
קוד:

blablabla
jjj
nanana
hello

הפלט של התוכנית יהיה: hello. אני רוצה שהוא יבדוק יותר ממילה אחת ולא הצלחתי לפתור את זה עם לולאה פשוטה.
תודה מראש
חזרה לתחילת העמוד הצג את כרטיס החבר של Inj3ction חפש הודעות אחרות של Inj3ction
 
pitbull
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 29 December 2005 בשעה 10:04 | IP רשוּם
 

לא טוב אחי...
אתה בודק עם סכום ערכי ה ascii של המילים שווה, נכון?
אבל יכולות להיות כמה מילים שונות בעלות אותו סכום ascii

אממ לא חשבתי על זה הרבה אבל לגבי כמה מילים, אתה יכול להכניס כל מילה למערך
ואז לעבוד עם המערך..


חזרה לתחילת העמוד הצג את כרטיס החבר של pitbull חפש הודעות אחרות של pitbull
 
Inj3ction
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 09 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 149
נשלח בתאריך: 29 December 2005 בשעה 10:17 | IP רשוּם
 

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

הצטרף / הצטרפה: 14 May 2005
משתמש: מנותק/ת
הודעות: 209
נשלח בתאריך: 29 December 2005 בשעה 10:30 | IP רשוּם
 

פשוט להכניס מילה מילה מתוך קובץ אוצר המילים לתוך מערך..[דו מימדי כמובן]
אחר כך פשוט בלולאה כפולה להשוות כל איבר בודד במערך עם כל המילים המבולגנות..
אם אתה מניח שאורך מילה הוא מקסימום 20, אז גם תניח שנגיד מקסימום מילים שיכולות להיות באוצר מילים זה 50 או מה שתרצה...
למרות שאפשר לעשות את זה עם זכרון דינאמי...
חזרה לתחילת העמוד הצג את כרטיס החבר של pitbull חפש הודעות אחרות של pitbull
 
Inj3ction
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 09 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 149
נשלח בתאריך: 29 December 2005 בשעה 10:30 | IP רשוּם
 

אהה הבנתי תודה אני ינסה
חזרה לתחילת העמוד הצג את כרטיס החבר של Inj3ction חפש הודעות אחרות של Inj3ction
 
SDX
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 26 September 2005
משתמש: מנותק/ת
הודעות: 106
נשלח בתאריך: 29 December 2005 בשעה 12:30 | IP רשוּם
 

*עריכה:
אה סליחה לא שמתי לב שזה אמור להיות עם מילה מבולבלת
אז תבדוק את האורך של המילה ואת האסקיי (כמו שעשית)



__________________
Smoke weed evryday
~-===-~

חזרה לתחילת העמוד הצג את כרטיס החבר של SDX חפש הודעות אחרות של SDX
 
Inj3ction
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 09 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 149
נשלח בתאריך: 29 December 2005 בשעה 12:33 | IP רשוּם
 

-_-
אני מכיר אותה, ולא ענית לי על השאלה ולא על כלום. לא שאלתי איך להשוות תקרא מה שרשום..
חזרה לתחילת העמוד הצג את כרטיס החבר של Inj3ction חפש הודעות אחרות של Inj3ction
 
SDX
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 26 September 2005
משתמש: מנותק/ת
הודעות: 106
נשלח בתאריך: 29 December 2005 בשעה 12:36 | IP רשוּם
 

בסדר.. ערכתי, בסה"כ באתי לעזור לך מה אתה עצבני

ולפי דעתי יש לך קוד גועל נפש, בחיים אבל בחיים אל תשתמש בgoto
יכלת להגיע לאותה תוצאה עם לולאה..


__________________
Smoke weed evryday
~-===-~

חזרה לתחילת העמוד הצג את כרטיס החבר של SDX חפש הודעות אחרות של SDX
 
Inj3ction
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 09 October 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 149
נשלח בתאריך: 29 December 2005 בשעה 12:44 | IP רשוּם
 

יותר קל לי ככה. אני לא מנסה לעשות את התכנית יעילה אלא רק העיקר שתעבוד.. ומה שאמרת ממש לא עזר לי כי יש לי את הבדיקה כבר בקוד.
חזרה לתחילת העמוד הצג את כרטיס החבר של Inj3ction חפש הודעות אחרות של Inj3ction
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 29 December 2005 בשעה 16:07 | IP רשוּם
 

נעול, נא להשתמש בעתיד בכותרות בהתאם לחוקי הפורום.

__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 

מצטערים, אינך יכול/ה להגיב לנושא זה.
נושא זה נעול.

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה