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