K
Khách

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.

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC LẦN 2

Câu 1:

const fi='ptyn.inp';
fo='ptyn.out';
var a:array[1..100,1..100]of integer;
i,j,n,m,snn,sln,vtc,vth,x,z,kt,k,dem:integer;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,m);
for i:=1 to n do
for j:=1 to m do
read(f1,a[i,j]);
{----------nho nhat hang----------}
dem:=0;
for i:=1 to n do
begin
snn:=a[i,1];
for j:=1 to m do
if snn>=a[i,j] then
begin
snn:=a[i,j];
vth:=i;
vtc:=j;
end;
kt:=0;
sln:=a[vth,vtc];
for k:=1 to n do
if sln<a[k,vtc] then kt:=1;
if kt=0 then
begin
writeln(f2,vth,' ',vtc);
dem:=dem+1;
end;
end;
if dem=0 then writeln(f2,'Khong co phan tu yen ngua');
close(f1);
close(f2);
end.

Câu 2: Bài làm của bạn @Tran Nguyễn Đăng Dương

Program connect;
uses crt;
const fi='connect.inp';
fo='connect.out';
type num=record
number,top:integer;
end;
var a:array[0..1000] of num;
t:num;
i,n,j:integer;
f1,f2:text;
Function timtop(a:integer):integer;
begin
if a<10 then exit(a);
exit(timtop(a div 10));
end;
Begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
read(f1,n);
for i:=1 to n do
begin
read(f1,a[i].number);
a[i].top:=timtop(a[i].number);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if a[i].top=a[j].top then
begin
if a[i].number>a[j].number then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end
else if a[i].top<a[j].top then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end;
for i:=1 to n do write(f2,a[i].number);
Close(f1);
Close(f2);
End.

Câu 3:

const fi='quediem.inp';
fo='quediem.out';
var f1,f2:text;
i,m,n,d,x,j,csc:longint;
a,b:array[1..100]of integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
{---------------------------tim-so-lon-nhat----------------------------}
m:=n;
if m mod 2=0 then
begin
for i:=1 to n div 2 do
write(f2,'1');
end
else begin
write(f2,'7');
for i:=2 to n div 2 do
write(f2,'1');
end;
{---------------------------tim-so-nho-nhat----------------------------}
write(f2,'-');
a[1]:=2; b[1]:=1;
a[2]:=5; b[2]:=2;
a[3]:=4; b[3]:=4;
a[4]:=6; b[4]:=6;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
d:=(n div 7)+1;
if n mod 7=0 then d:=d-1;
if d=1 then
begin
case n of
2: write(f2,'1');
3: write(f2,'7');
4: write(f2,'4');
5: write(f2,'2');
6: write(f2,'0');
7: write(f2,'8');
end;
end;
if d>1 then
begin
for i:=1 to d do
if i=1 then
begin
b[4]:=6;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=(x div 7)+1;
if x mod 7=0 then dec(csc);
if csc=d-i then
begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end
else begin
a[1]:=6; b[1]:=0;
a[2]:=2; b[2]:=1;
a[3]:=5; b[3]:=2;
a[4]:=4; b[4]:=4;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=(x div 7)+1;
if x mod 7=0 then csc:=csc-1;
if csc=d-i then
begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end;
end;
close(f1);
close(f2);
end.

Câu 4:

const fi='tvh.inp';
fo='tvh.out';
var n,d,dem,sl,s2cs,s3cs,s4cs,s5cs,s6cs,s7cs,s8cs,k,i,d1:longint;
st,st1,stk:string;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,k);
str(n,st);
d:=length(st);
case d of
1: write(9);
2: begin
sl:=n-9;
dem:=9+sl*2;
end;
3: begin
s2cs:=(99-10)+1;
s3cs:=n-99;
dem:=9+s2cs*2+s3cs*3;
end;
4: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=n-999;
dem:=9+s2cs*2+s3cs*3+s4cs*4;
end;
5: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=n-9999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5;
end;
6: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=n-99999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6;
end;
7: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=(999999-100000)+1;
s7cs:=n-999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7;
end;
8: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=(999999-100000)+1;
s7cs:=(9999999-1000000)+1;
s8cs:=n-9999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7+s8cs*8;
end;
end;
if k<=dem then
begin
i:=1;
d1:=0;
repeat
str(i,st1);
d1:=d1+length(st1);
inc(i);
until d1>=k;
stk:=st1[length(st1)-(d1-k)];
writeln(f2,stk);
end;
close(f1);
close(f2);
end.

Câu 5: Bài làm của bạn @Tran Nguyễn Đăng Dương

Program robot;
uses crt;
const fi='robot.inp';
fo='robot.out';
type path=record
num,npath:integer;
end;
var a:array[0..1000,0..1000] of path;
i,j,n:integer;
b,c:array[1..2] of Integer;
st,st1:string;
f1,f2:text;
check:boolean;
min:real;
Function he2sanghe10(st1:string):real;
var d,x,tg:integer;
stt:string;
begin
he2sanghe10:=0;
d:=Length(st1);
for i:=1 to d do
begin
stt:=st1[i];
Val(stt,x,tg);
he2sanghe10:=he2sanghe10*2+x;
end;
end;
Procedure robotpath(x,y:integer; st1:string);
var k:integer;
t:string;
S:real;
begin
if (x=n) and (y=n) then
begin
S:=0;
S:=he2sanghe10(st1);
if (min>S) then
begin
min:=S;
st:=st1;
end;
end
else
for k:=1 to 2 do
begin
if (x+b[k]>=1) and (y+c[k]>=1) and (x+b[k]<=n) and (y+c[k]<=n) then
begin
str(a[x+b[k],y+c[k]].num,t);
st1:=st1+t;
a[x+b[k],y+c[k]].npath:=a[x,y].npath+1;
robotpath(x+b[k],y+c[k],st1);
Delete(st1,Length(st1),1);
if (a[x+b[k],y+c[k]].npath=0) then break;
end;
end;
end;
Begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
b[1]:=1; c[2]:=1;
min:=99999999999999999999999999999999999999;
read(f1,n);
for i:=1 to n do
for j:=1 to n do
begin
read(f1,a[i,j].num);
a[i,j].npath:=n*n;
end;
a[1,1].npath:=1;
Str(a[1,1].num,st1);
robotpath(1,1,st1);
writeln(f2,st);
Close(f1);
Close(f2);
End.

7

Bài làm của bạn @lê chí hiếu(bạn được 2,1 điểm)

bài 1

program PTYN;
uses crt;
var a:array[1..100,1..100]of integer;
i,j,m,n:integer;
f1,f2:text;
Max, Min:Integer;
Kt:boolean;
Procedure XuatMang;
begin
For i:=1 to n do
begin
for j:=1 to m do
Write(a[i,j]:4);
Writeln;
end;
end;
Procedure MaxCot(l:Integer);
var p:Integer;
begin
Max:=A[1,l];
For p:=2 to n do
if A[p,l]>Max then Max:=A[p,l];
end;
Procedure MinHang(k:Integer);
var o:integer;
begin
Min:=A[k,1];
For o:=2 to n do
if A[k,o]<Min then Min:=A[k,o];
end;
begin
clrscr;
assign(f1,'ptyn.inp');
assign(f2,'ptyn.out');
reset(f1);rewrite(f2);
while not EOF(f1) do
begin
kt:=false;
readln(f1,n,m);
for i:=1 to n do
begin
for j:=1 to m do
Read(f1,a[i,j]);
readln(f1);
end;

for i:=1 to n do
begin
for j:=1 to n do
begin
MaxCot(j);
MinHang(i);
if Max=Min then
begin
Writeln(f2,'(',i,',',j,')');
kt:=true;
end;
end;
end;
If kt=false then Writeln(f2,'Khong co ptu yen ngua.');
end;
Close(f1); Close(f2);
Readln
End.

Bài 4

const fi='tvh.inp';

fo='tvh.out';

var n,d,dem,sl,s2cs,s3cs,s4cs,s5cs,s6cs,s7cs,k,i,d1:longint;

st,st1,stk:string;

f1,f2:text;

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n,k);

str(n,st);

d:=length(st);

case d of

1: write(9);

2: begin

sl:=n-9;

dem:=9+sl*2;

end;

3: begin

s2cs:=(99-10)+1;

s3cs:=n-99;

dem:=9+s2cs*2+s3cs*3;

end;

4: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=n-999;

dem:=9+s2cs*2+s3cs*3+s4cs*4;

end;

5: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=(9999-1000)+1;

s5cs:=n-9999;

dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5;

end;

6: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=(9999-1000)+1;

s5cs:=(99999-10000)+1;

s6cs:=n-99999;

dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6;

end;

7: begin

s2cs:=(99-10)+1;

s3cs:=(999-100)+1;

s4cs:=(9999-1000)+1;

s5cs:=(99999-10000)+1;

s6cs:=(999999-1000000)+1;

s7cs:=n-999999;

dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7;

end;

end;

if k<=dem then

begin

i:=1;

d1:=0;

repeat

str(i,st1);



d1:=d1+length(st1);

i:=i+1;

until d1>=k;

stk:=st1[length(st1)-(d1-k)];

writeln(f2,stk);

end;

close(f1);

close(f2);

end.

Bài 5

PROGRAM robot;

VAR A:ARRAY[0..30,0..30] OF BYTE;

F:ARRAY[0..30,0..30] OF LONGINT;

m,n:INTEGER;

PROCEDURE Enter;

VAR i,j:INTEGER;

BEGIN

readln(m,n);

FOR i:=1 TO m DO

BEGIN

FOR j:=1 TO n DO read(A[i,j]);

readln;

END;

FOR i:=0 TO m DO A[i,0]:=-1;

FOR j:=0 TO n DO A[0,j]:=-1;

END;

FUNCTION Max(a,b:LONGINT):LONGINT;

BEGINIF (a>b) THEN Max:=a ELSE Max:=b;

END;

PROCEDURE Optimize;

VAR i,j:INTEGER;

BEGIN

FOR i:=0 TO m DO F[i,0]:=-1;

FOR j:=0 TO n DO F[0,j]:=-1;

F[0,1]:=0;

FOR i:=1 TO m DO

FOR j:=1 TO n DO

F[i,j]:=2*Max(F[i,j-1],F[i-1,j])+A[i,j];

END;

PROCEDURE Trace(i,j:INTEGER);

BEGINIF (i=1) AND (j=1) THEN

writeln(F[m,n])

ELSE

BEGIN

IF F[i,j-1]>F[i-1,j] THEN

Trace(i,j-1)

ELSE

Trace(i-1,j);

writeln(i,' ',j);

END;

END;

BEGIN

Assign(Input,'Robot.inp'); Reset(Input);

Assign(Output,'Robot.out');Rewrite(Output);

Enter;

Optimize;

Trace(m,n);

close(Input);

close(Output);

END.

14 tháng 8 2020

Em hiểu,nhưng cách anh chỉ đến 8 chữ số là cùng.

Cách em thì chỉ cần lấy int64(em dùng luôn mấy biến real vì bự hơn) thì chấp 10^30

Chương trình sau giải quyết vấn đề gì?  Var   a:array[1..4] of integer;  Begin        For i:=1 to 4 do        Begin           Write('nhap cac phan tu A[',i,']:');            readln (a[i]);        End;        For i:=1 to 3 do        For j:= I+1 to 4 do             If a[i]> a[j] then               Begin                   tg:=a[i];                   a[i]:=a[j];                   a[j]:=tg;               end;         For I:=1 to  4 do         Write(a[i]);    End.Select one:a. sắp xếp...
Đọc tiếp

Chương trình sau giải quyết vấn đề gì?

  Var   a:array[1..4] of integer;

  Begin

        For i:=1 to 4 do

        Begin

           Write('nhap cac phan tu A[',i,']:');

            readln (a[i]);

        End;

        For i:=1 to 3 do

        For j:= I+1 to 4 do

             If a[i]> a[j] then

               Begin

                   tg:=a[i];

                   a[i]:=a[j];

                   a[j]:=tg;

               end;

         For I:=1 to  4 do

         Write(a[i]);

    End.

Select one:

a. sắp xếp các phần tử của mảng theo trật tự tăng dần

b. Tìm Max

c. sắp xếp các phần tử của mảng theo trật tự giảm dần

d. Chương trình có lỗi

0
21 tháng 12 2018

Sữa lỗi:

phần khai báo:a:array[1..250] of integer (ngoặc vuông ko phải ngoặc tròn)

Đúng rồi đó bạn

11 tháng 4 2020

đúng ko ạ

7 tháng 10 2018

Var a: string;

  i, Dem: integer;

Begin

 writeln(‘nhap xau:’);

 Readln(a);

 Dem:=0;

 For i:=1 to length(a) do

 If (‘0’<=a[i]) and (a[i]<=’9’) then Dem:= Dem+1;

 Writeln(Dem);

 Readln

End.

Tại vì cái này là xuất ra file nên bạn hãy bỏ cái uses crt; clrscr; readln là sẽ chạy rất tốt

16 tháng 1 2022

cảm ơn rất nhiều ạ

 

27 tháng 4 2020

Câu 2:

a) Chương trình có 2 tệp và 2 biến tệp

- 2 tệp đó là : input.txt và output.txt

- 2 biến tệp đó là: f1 và f2

b)

- Tệp input.txt được gắn cho biến tệp là f1 .Nó dùng để đọc dữ liệu

-Tệp output.txt được gắn cho biết tệp là f2. Nó dùng để ghi dữ liệu

c)

Câu lệnh gắn tập và mở tệp của input.txt và output.txt là : assign(f1 ,' input.txt'); và assign(f2 ,' output.txt);

Câu lệnh đọc tệp là: reset(f1);

Câu lệnh để ghi tệp là: rewrite(f2);

d) Điều kiện để tham chiếu đến tất cả các cặp số nguyên trong tệp input.txt là phải có biến tệp f1 ở trước mọi câu lệnh đọc dữ liệu.

e) Chương trình có 2 lệnh đóng tệp. Không thể không đóng tệp , vì nếu không đóng thì dữ liệu đã thực hiện không thể lưu lại .

27 tháng 4 2020

Bạn làm gì vậy :V? Mình không hiểu

17 tháng 5 2021

sữa i bằng b đi bạn ơi