Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
uses crt;
const fi='bt.inp';
var a:array[1..100]of real;
i,dem:integer;
f1:text;
begin
clrscr;
assign(f1,fi); reset(f1);
dem:=0;
while not eof(f1) do
begin
inc(dem);
read(f1,a[dem]);
if dem mod 2=0 then readln(f1);
end;
for i:=1 to dem do
write(a[i]:4:1,' ':4);
close(f1);
readln;
end.
mk xin chia sẻ code nhé:
#include<cstdio> inline int min( int a, int b ) { return a>b?b:a; } char s[1000005]; int f[1000005], g[1000005]; int main() { int n; scanf("%d", &n); scanf("%s", s); f[0] = g[0] = 0; for(int i=0; i<n; i++) if( s[i] == 'A' ) { f[i+1] = f[i]; g[i+1] = 1 + min( f[i], g[i] ); } else { g[i+1] = g[i]; f[i+1] = 1 + min( f[i], g[i] ); } printf("%d\n", f[n]); }uses crt;
const finp='Bai1.inp';
fout='Bai1.out';
type mangc=array[1..10000] of char;
mangl=array[1..10000] of longint;
var f:text;
ch:mangc; a:mangl;
n:longint;
procedure doc;
var i:longint;
begin
assign(f,finp);
reset(f);
readln(f,n);
for i:=1 to n do read(f,ch[i]);
close(f);
end;
procedure ghi;
begin
assign(f,fout);
rewrite(f);
end;
procedure tim;
var i,j,d,k,l:longint;
begin
for i:=n-2 downto 1 do
begin
a[i]:=1;
d:=0;
for j:=i+1 to n do
begin
l:=a[j];
if ch[i]=ch[j] then a[j]:=d+2
else if a[j-1]>a[j] then a[j]:=a[j-1];
d:=l;
end;
end;
end;
procedure xuly;
var i:longint;
begin
fillchar(a,sizeof(a),0);
if n=1 then a[n]:=1
else begin
a[n-1]:=1;
a[n]:=ord(ch[n]=ch[n-1])+1;
end;
if n>2 then tim;
write(f,n-a[n]);
end;
begin
doc;
ghi;
xuly;
close(f);
end.
ai có thể giải thích cho mình bài này đc không
nhất là cái "procedure tim" và mục đích của mảng số nguyên a
mk cảm ơn nhiều
var f:text;
s:string;
i,dem,max,dau,cuoi:byte;
begin
assign(f,'xau1.txt'); reset(f);
readln(f,s);
close(f);
assign(f,'xau2.txt'); rewrite(f);
dem:=1; max:=1; dau:=1; cuoi:=1;
for i:=1 to length(s)-1 do
begin
if s[i]=s[i+1] then inc(dem) else dem:=1;
if dem>max then
begin
max:=dem;
cuoi:=i+2;
dau:=cuoi-dem;
end;
end;
write(f,dau,':',cuoi);
close(f);
readln;
end.
Program hotrotinhoc;
const fi='xau1.txt';
fo='xau2.txt';
var
f:text;
s:string;
i,d,c,j:byte;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,s);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
j:=0;
for i:= 1 to length(s) do
begin
if j=0 then j:=i;
if s[i] <> s[i+1] then
begin
if ((i-j)+1)>((c-d)+1) then
begin
d:=j;
c:=i;
end;
j:=0;
end;
end;
write(f,d,':',c);
close(f);
end;
BEGIN
ip;
out;
END.
16 là đến chữ a không phải chữ c mà. Nếu bạn muốn in ra 16 thì chỉ cần write(f,d,':',c+1);