viet chuong trinh nhap va xuat ra day A va nhap vao ki tu k xem co co nam trong day A hay ko neu co hay cho biet vi tri cua k trong A
viet chuong trinh nhap va xuat ra day A va nhap vao ki tu k xem co co nam trong day A hay ko neu co hay cho biet vi tri cua k trong A
=.="... Cái này... hơi dễ... sao không lo suy nghĩ đi...
Bài tham khảo cho bạn nè
Code:Var s:string; k:char; i:byte; Begin write('Nhap xau');readln(s); write('Nhap ki tu k');readln(k); writeln('Xau vua nhap: ',s); Writeln('Cac vi tri ma ',k,' xuat hien trong xau:'); For i:=1 to length(s) do If s[i]=k then write(i:4); Readln; End.
giai thich tai sao k lai kieu char
K là ký tự
__________
chương trình của bạn co khuyết điểm là tốn bộ nhớ khi chỉ cần tìm ra thui!!! nếu ký tự cần tìm nằm ở cuối xâu thì nó sẽ diệt toàn bộ xâu!!!!!
bạn nên dùng chương trình con để tìm vị trí và tìm ký tự trong xâu!!!!
đây là chương trình của mình còn thấp kém lắm!!!! có gì sai sót các bạn bỏ wa cho nha!!!!
uses crt;
type mang=array[1..256] of byte;
var a:mang;
i:byte;
k:char;
s:string;
procedure nhap;
begin
writeln('ban hay nhap vao 1 xau bat ky '); readln(s);
writeln('nhap vao 1 ky tu can kiem tra co trong xau hay hok ');
readln(k);
end;
procedure kiemtra(s:string;k:char);
var dem:byte;
begin
dem:=0;
for i:=1 to length(s) do
if a[i]=k then
begin
inc(dem);
break;
end;
if dem<>0 then writeln(k,' co trong xau ') else writeln(k,' hok co trong xau ');
end;
procedure vitri(s:string;k:char);
begin
writeln(k,' co vi tri trong xau la ');
for i:=1 to length(s) do
if s[i]=k then a[i]:=i;
writeln;
for i:=1 to length(s) do
if a[i]<>0 then write(a[i]:4);
end;
begin
clrscr;
nhap;
kiemtra(s,k);
vitri(s,k);
readln;
end.
mình còn rất yếu có gì sai xót mong các pác chỉ giáo thêm nha!!!!!!
Bài đơn giản này xây dựng thành chương trình con cho phức tạp ra à!
Bookmarks