עזרה בשפת C
שבת שלום לכולם!
צריכה עזרה בתרגיל
כתוב פונקציה בשפת סי אשר תוגדר int string(char *s1,char *s2
התכנית תקלוט שני מחרוזות מחרוזת S1 ומחרוזת S2 על הפונקציה לבדוק:
**אם כל התווים בS2 באותיות קטנות ז"א a,b,c..... ואם כל האותיות שונות זו מזו אם כן הפונקציה תמשיך אם לא תחזיר 0
**הפונקציה תבדוק האם כל התווים במחרוזת S2 נמצאים באותו סדר בS1 למשל:
'ABC' מחרוזת ראשונה 'ANVBJHKCKJ' מצב תקין תחזיר 1
'ABC' מחרוזת ראשונה 'ANHCBCKJ' מצב לא תקין כי C יש גם לפני B תחזיר 0
וגם אם חסרה אות אחת ממחרוזת S2 מצב לא תקין תחזיר 0
מקווה שרשמתי ברור את התרגיל .... קצת הסתבכתי עם הסעיף השני התכנית שלי היא:
#include<stdio.h>
int string(char *s1,char*s2)
{
int c1=0;
char *help=s1,*help=s2,*s1=s1,*s2=s2;
while(*s2!='\0'){
c1++;
}
s2=s2-c1;
while(*s2!='\0')
if(*s2<'a'||*s2>'z')
return 0;
s2=s2-c1;
while(*(s2+1)!='\0')
if(*s2==*(s2+1))
return 0;
s2=s2-c1;
while(*s1!='\0'&&*s2!='\0'){
while(*s1!=*s2)
s1++;
if(*s1=='\0')
return 0;
else{
*help=*s1;
while(*s1!=*s2)
s1++;
if(*s1==*(s2+1)){
s2++;
*help=*s1;
}
}
}
return 1;
}
void main()
{
char s1[100],s2[100],*s1,*s2;
printf("Enter string:");
gets(s1);
printf("Enter string:");
gets(s2);
printf("%d",string(s1,s2));
}
התוכנה גם נותנת לי הודעת שגיאה :
error C2082: redefinition of formal parameter 's1'
error C2082: redefinition of formal parameter 's2'
error C2372: 's1' : redefinition; different types of indirection
see declaration of 's1'
error C2372: 's2' : redefinition; different types of indirection
see declaration of 's2'
מצטערת על האורך של ההודעה אשמח לכל עזרה או רעיון
שבת שלום לכולם!
צריכה עזרה בתרגיל
כתוב פונקציה בשפת סי אשר תוגדר int string(char *s1,char *s2
התכנית תקלוט שני מחרוזות מחרוזת S1 ומחרוזת S2 על הפונקציה לבדוק:
**אם כל התווים בS2 באותיות קטנות ז"א a,b,c..... ואם כל האותיות שונות זו מזו אם כן הפונקציה תמשיך אם לא תחזיר 0
**הפונקציה תבדוק האם כל התווים במחרוזת S2 נמצאים באותו סדר בS1 למשל:
'ABC' מחרוזת ראשונה 'ANVBJHKCKJ' מצב תקין תחזיר 1
'ABC' מחרוזת ראשונה 'ANHCBCKJ' מצב לא תקין כי C יש גם לפני B תחזיר 0
וגם אם חסרה אות אחת ממחרוזת S2 מצב לא תקין תחזיר 0
מקווה שרשמתי ברור את התרגיל .... קצת הסתבכתי עם הסעיף השני התכנית שלי היא:
#include<stdio.h>
int string(char *s1,char*s2)
{
int c1=0;
char *help=s1,*help=s2,*s1=s1,*s2=s2;
while(*s2!='\0'){
c1++;
}
s2=s2-c1;
while(*s2!='\0')
if(*s2<'a'||*s2>'z')
return 0;
s2=s2-c1;
while(*(s2+1)!='\0')
if(*s2==*(s2+1))
return 0;
s2=s2-c1;
while(*s1!='\0'&&*s2!='\0'){
while(*s1!=*s2)
s1++;
if(*s1=='\0')
return 0;
else{
*help=*s1;
while(*s1!=*s2)
s1++;
if(*s1==*(s2+1)){
s2++;
*help=*s1;
}
}
}
return 1;
}
void main()
{
char s1[100],s2[100],*s1,*s2;
printf("Enter string:");
gets(s1);
printf("Enter string:");
gets(s2);
printf("%d",string(s1,s2));
}
התוכנה גם נותנת לי הודעת שגיאה :
error C2082: redefinition of formal parameter 's1'
error C2082: redefinition of formal parameter 's2'
error C2372: 's1' : redefinition; different types of indirection
see declaration of 's1'
error C2372: 's2' : redefinition; different types of indirection
see declaration of 's2'
מצטערת על האורך של ההודעה אשמח לכל עזרה או רעיון