ABA


"עזרה בתוכנית קטנה בC"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #14358 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14358
matanye

   12:36   12.10.07   
אל הפורום  
  עזרה בתוכנית קטנה בC  
 
   אני צריך תוכנית שתקלוט שם של אדם בתוך מחרוזת
ותחפש את אותו השם במחרוזת שנייה שהיא סתם מחורבשת עם אותיות אחרות
ותכתוב בסופו של דבר האם יש את המחרוזת של השם בתוך המחרוזת השניה עם ההרבה אותיות

תודה רבה


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מותר לך להשתמש בפונקציות ספריה? עידן_הכלי 12.10.07 13:05 1
  אתה מתכוון בצורה הזו ? Limp Bizkit 12.10.07 13:22 2
  בכל מקרה אם אפשר להשתמש בפונקציות ספרייה : Limp Bizkit 12.10.07 14:44 3
     הערות matanye 13.10.07 22:52 6
  לפי דעתי הוא לא אמור להשתמתש בפונקצית ספרייה Net_Boy  12.10.07 15:09 4
  לא אמור להשתמש בספרייה (ל''ת) matanye 13.10.07 22:43 5
  כתבתי לך סתם משהו קטן: עידן_הכלי 13.10.07 23:57 7
     באיזה שפה זה? matanye 14.10.07 00:02 8
         C Nesher  14.10.07 00:17 9
             דווקא C++ Net_Boy  14.10.07 21:59 10

       
עידן_הכלי

   13:05   12.10.07   
אל הפורום  
  1. מותר לך להשתמש בפונקציות ספריה?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   13:22   12.10.07   
אל הפורום  
  2. אתה מתכוון בצורה הזו ?  
בתגובה להודעה מספר 0
 
   לדוגמא קלטתי tom
ויש לי מחרוזת שניה abcdtomkk

זה יביא אמת ?

וכמו שעידן אמר - מותר להשתמש בפונקציות ספריה ?

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   14:44   12.10.07   
אל הפורום  
  3. בכל מקרה אם אפשר להשתמש בפונקציות ספרייה :  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 12.10.07 בשעה 15:01 בברכה, Limp Bizkit
 
בניתי לך משהו
תחשוב שסוגריים מסולסלים זה סוגריים מרובעים


#include <stdio.h>

int main()
{
char name{20}; // choose your characters array-size
char family{} = "aatoms";

gets(name);
char *ptr = strstr(family,name);
int result = ptr - family + 1;
if(ptr != NULL)
printf("%s found at position %d\n\n",name, result);
else
printf("%s not found\n", name);
}

התוכנית (tom זה מה שקלטתי) :


tom
tom found at position 3


הסבר :
פונקציית הספרייה strstr מקבלת שני מחרוזות, הראשונה זה המחרוזת שצריך לחפש בה, והשניה זה המחרוזת שמחפשים אותה
היא מחזירה מצביע לכתובת של האיבר הראשון בזכרון שבה המילה שאנחנו מחפשים מתיחה להופיע
במידה והמחרוזת לא נמצאה , מוחזר NULL (כלום)
בשביל להמיר את הכתובת של הזכרון למס' הגיוני (במקרה שלנו 3), אנחנו צריכים לחסר את הכתובת של מחרוזת family, ממחרוזת ptr (שמכילה מצביע לאיבר הראשון שבו המחרוזת שאנחנו מחפשים מופיעה)
במקרה שלנו, ptr מכיל מצביע לכתובת 2293570 (תחילת המילה tom) והכתובת של family היא 2293568


2293570 - 2293568 + 1 = 3

וקיבלנו את מס' האיבר שהמחרוזת שאנחנו מחפשים מתחילה להופיע... 3

טוב חפרתי פה
אם משהו לא מובן תגיד...

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
matanye

   22:52   13.10.07   
אל הפורום  
  6. הערות  
בתגובה להודעה מספר 3
 
   1.שים לב השם לא חייב להופיע ברצף במחרוזת השניה
2. אשמח אם לא תיהיה שימוש בספרייה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   15:09   12.10.07   
אל הפורום  
  4. לפי דעתי הוא לא אמור להשתמתש בפונקצית ספרייה  
בתגובה להודעה מספר 0
 
   והאלגוריתם עצמו מאד פשוט
תנסה לרשום לבד ותגיד איפה אתה נתקע


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
matanye

   22:43   13.10.07   
אל הפורום  
  5. לא אמור להשתמש בספרייה (ל''ת)  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 13.10.07 בשעה 22:52 בברכה, matanye
 
שים לב השם לא חייב להופיע ברצף במחרוזת השניה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
עידן_הכלי

   23:57   13.10.07   
אל הפורום  
  7. כתבתי לך סתם משהו קטן:  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 13.10.07 בשעה 23:58 בברכה, עידן_הכלי
 

#include <iostream>

using namespace std;

bool IsCharInString(char* ch,char* string)
{
while (*string)
{
if (*ch == *string)
{
return true;
}
string++;
}
return false;
}


void main()
{
char* myStr = "bcffe"; //תת מחרוזת שאותה מחפשים
char* myString = "abcdefg"; //מחרוזת שמחפשים בה
while (*myStr)
{
if (!IsCharInString(myStr,myString))
{
printf("String not found");
getchar();
return;
}
myStr++;
}
printf("String was found");
getchar();
return;
}


יכול להיות שאפשר לעשות אתזה יותר יפה אבל סתם היה בא לי לשחק קצת בשפה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
matanye

   00:02   14.10.07   
אל הפורום  
  8. באיזה שפה זה?  
בתגובה להודעה מספר 7
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   00:17   14.10.07   
אל הפורום  
  9. C  
בתגובה להודעה מספר 8
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   21:59   14.10.07   
אל הפורום  
  10. דווקא C++  
בתגובה להודעה מספר 9
 
   בכל מקרה את הקוד הוא אמור להבין וזה מספיק


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net