nhập một dãy kí tự. viết chương trình tìm dãy con đối xứng dài nhất.
vd: 12345654 => 5
456654 =>6
123321 => 6
Cảm ơn nhiều
MẤY HUYNH GIÚP ĐỆ BÀI TIN NÀY VỚI
Bắt đầu bởi nguyen quang hao, 16-12-2007 - 15:22
#1
Đã gửi 16-12-2007 - 15:22
quang hào
#2
Đã gửi 06-05-2009 - 20:08
#include<string.h> #include<stdio.h> #include<conio.h> int doixung(int vt,char *c){ int i=1,j=0; while((vt>=i)&&(c[i+vt]!=NULL)&&(c[vt-i]==c[vt+i])) i++;i=i*2-1; while((vt>j)&&(c[j+vt]!=NULL)&&(c[vt-j-1]==c[vt+j]))j++;j=j*2; return (i>j)?i:j; } int maxdoixung(char *c){ int i=0,j=0,n=0; for(;c[i+1]!=NULL;i++){ n=doixung(i,c); j=j>n?j:n; } return j; } void main(){ clrscr(); printf("%d\n",maxdoixung("12345654")); printf("%d\n",maxdoixung("456654")); printf("%d\n",maxdoixung("123321")); getch(); }
1 người đang xem chủ đề
0 thành viên, 1 khách, 0 thành viên ẩn danh