program MIDI; uses crt; var i,n :integer; A:array[1..100] of integer; KT: boolean; begin clrscr; write(‘Nhap so n: ‘);readln(n);

program MIDI;
uses crt;
var i,n :integer; A:array[1..100] of integer; KT: boolean;
begin
clrscr;
write(‘Nhap so n: ‘);readln(n);
For i:=1 to n do
begin
write(‘A[‘,i,’]= ‘);
readln(A[i]);
end;
For i:=2 to n-1 do
if (A[i+1]>A[i]) and (A[i+2]=A[i+1]) then
begin
KT:=false;
break;
end;
if KT=true then write(‘YES’);
if KT=false then write(‘NO’);
readln;
end.
Các bác chạy đoạn chương trình này rồi nhập 1,2,3,4,5,6 vào rồi nó lại sai các bác thấy em sai ở đâu chỉ em với
Đây là bài về dãy số đơn điệu nghĩa là thế này:2>1<3>2

0 bình luận về “program MIDI; uses crt; var i,n :integer; A:array[1..100] of integer; KT: boolean; begin clrscr; write(‘Nhap so n: ‘);readln(n);”

  1. Bạn không nên nhập số bằng mảng nhé. Nên nhập bằng xâu.

    uses crt;
    var s:string;
        i:longint;
    function sdd(s:string):boolean;
    var i,d:longint;
    begin
    d:=0;
    for i:=2 to length(s)-1 do
    if ((s[i-1]<s[i]) and (s[i]>s[i+1])) or ((s[i-1]>s[i]) and (s[i]<s[i+1]))
    then d:=d+1;
    if d=length(s)-2 then sdd:=true else sdd:=false;
    end;
    begin
    clrscr;
    write(‘Nhap so can kiem tra: ‘);readln(s);
    if sdd(s)=true then write(‘-> Day la so don dieu’)
    else write(‘-> Day khong phai la so don dieu’);
    readln;
    end.

    Bình luận
  2. program MIDI;
    uses crt;
    var i,n,k :integer; A:array[1..100] of integer; KT: boolean;
    begin
            clrscr;
            write(‘Nhap so n: ‘);readln(n);
            For i:=1 to n do
                    begin
                            write(‘A[‘,i,’]= ‘);
                            readln(A[i]);
                    end;
            if a[1]>a[2] then k:=1 else k:=0; kt:=true;
            For i:=1 to n-1 do
            if ((i mod 2=k)and(a[i]<=a[i+1]))or((i mod 2<>k)and(a[i]>=a[i+1])) then KT:=false;
            if KT=true then write(‘YES’);
            if KT=false then write(‘NO’);
            readln;
    end.

    Bài này sai ở chỗ:

    Dãy đơn điệu là: Vd 1 2 1 2 hoặc 2 1 2 1

    Mà bài cũ cũa cậu là chỉ xét TH:2 1 3 2 thôi

    Ta thấy là a[1]>a[2] thì là ><><>… ngược lại là <><><>…

    Vậy nên mình tính k

    k là 1 khi a[1]>a[2], 0 khi ngược lại

    k là để xét Vd 1212 thì chạy từ 1 tới n nó thấy 1 mà >2 thì false (1 là ở những VT mod 2=k)

    Bình luận

Viết một bình luận