View Single Post
ישן 06-11-07, 21:47   # 1
phpyo
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
הודעות: 180

phpyo לא מחובר  

שפת C - פיתרון אלטרנטיבי לבעיה?

שלום!

קיבלתי לש.ב בשפת C את השאלה הבאה:

ציטוט:
שרשרת סימטרית של '$' היא סדרה של תווים המתחילה ומסתיימת ב-'$ד ובדיוק באמצעיתה נמצא התו '$'. כתוב פונקציה המקבלת מערך תווים שאורכו max ואורך של שרשת len ומחיזרה 1 אם יש במערך שרשרת סימטרית של $, או 0 אם אין.
דוגמאות לשרשראות סימטריות

ds4$$$444

abc$xxx$yyy$zzz

אני פתרתי את זה כך:

PHP קוד:
#include <iostream.h>
#include <conio.h>
#define len 7

char str(char string[len])
{
    
int i,mik1=-1,mik2,mid;


    for(
i=0;i<len;i++)
    {
        if(
string[i] == '$')
        {
            if(
mik1 == -1)
            {
                
mik1 i;
            }
            else
                
mik2 i;
        }

        }


    
mid mik1+mik2;

    if(
mid/!= mid/2.0)
        return 
0;
    else
        if(
string[mid/2] == '$')
            return 
1;

                else
                                    return 
0;
  

}

void main()
{

    
int i;
        
char string[len];

    for(
i=0;i<len;i++)
        
string[i] = getche();

                
cout<<endl<<(int)str(string);

לשם ניסיון נתתי ל-Len אורך 7.

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

תודה!
  Reply With Quote