Giúp mình bài pascal!

C

cuong276

Mã:
var     s:string;
        d,i:integer;
        n:char;
BEGIN
        write('nhap day so: ');
        readln(s);
        write('nhap so: ');
        readln(n);
        d:=0;
        for i:=1 to length(s) do
                if s[i]=n then inc(d);
        if d=0 then write('ko co chu so ',n)
        else
                Begin
                        writeln('cac vi tri cua so do la: ');
                        for i:=1 to length(s) do
                                if s[i]=n then write(i:5);
                end;
        readln;
END.
 
M

mikelhpdatke

Mình nghĩ nên dùng mảng.
Duyệt
(x nhập từ bàn phím)
Mã:
d:=0;
For i:=1 to n do
  
    if a[i]=x then      
         Begin
            inc(d);
            write(i,' ');
         End;

If d=0 then write('So ban vua nhap khong co trong day!');
 
E

englandhuynh

Cách này ko dùng mảng, đpt O(n) phần đọc và kiểm tra --> Tiết kiệm không gian lẫn thời gian
Mã:
procedure Enter_Find;
var
      n,tmp,i,k:interger;
      s1,s:String;
begin
        write('Nhap N : ');readln(n);
        for i:=1 to n do
             begin
                   readln(tmp);
                   if tmp=k then begin  str(tmp,s1); s:=s+' '+s1; end;
              end;
        if length(s)=0 then write('Not Found')
        else write(s);
end;
 
Last edited by a moderator:
Top Bottom