Squeeze(s1,s2) หรือ squeeze(char[],char[]) เป็นฟังก์ชันที่ผู้ใช้กำหนดซึ่งใช้ในการลบอักขระทั่วไปหรืออักขระที่เท่ากันในสองสตริง
ปัญหา
จะลบอักขระทั่วไปในสองสตริงโดยใช้ฟังก์ชันการบีบในภาษาการเขียนโปรแกรม C ได้อย่างไร
วิธีแก้ปัญหา
ในโปรแกรมนี้ ผู้ใช้ป้อนสองสตริงในคอนโซลและเขียนโค้ดเพื่อแสดงสตริงแรก ยกเว้นอักขระทั่วไปที่อยู่ในสตริงที่สอง
ตัวอย่าง
โปรแกรม C ซึ่งแสดงการทำงานของฟังก์ชันการบีบมีดังนี้ -
#include<stdio.h>
void squeeze(char string1[],char string2[]);//prototype declaration
int main(){
char string1[50];
char string2[30];
printf("enter the string1:");
scanf("%s",string1);// read string1 from keyboard
printf("enter the string2:");
scanf("%s",string2);// read string2 from keyboard
squeeze(string1,string2);//call squeeze function
printf("Final string is:%s\n",string1);
return 0;
}
void squeeze(char string1[],char string2[]){
int i,j,k;
for(i=k=0;string1[i]!='\0';i++){
for(j=0;string2[j]!='\0' && string2[j]!=string1[i];j++)
if(string2[j]=='\0')
string1[k++]=string1[i];
}
string1[k]='\0';
} ผลลัพธ์
ผลลัพธ์ระบุไว้ด้านล่าง −
Enter the string1 : Tutorial Enter the string2 : ut Final string : Torial