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.

21 tháng 8 2019

Đợi chút mình đang giải.

21 tháng 8 2019

Đúng rồi , bạn thêm:

const fi='bai3.inp';

fo='bai3.out';

22 tháng 8 2019

Lời giải:

Nhập mảng phải có nhập số lượng phần tử nữa bạn nhé.

program hotrotinhoc;

const fi='bai5.inp';

fo='bai5.out';

var f: text;

i,j,n,max,max1,max2,max3,max4: longint;

a: array[1..32000] of integer;

function dn(x: integer): integer;

var s: integer;

begin

s:=0; dn:=0;

while x<>0 do

begin

s:=s*10+(x mod 10);

x:=x div 10;

end;

dn:=s;

end;

function nt(x1: integer): boolean;

var j: integer;

begin

nt:=false;

if x1<2 then exit;

for j:=2 to trunc(sqrt(x1)) do

if x1 mod j=0 then exit;

nt:=true;

end;

function tongcs(x2: integer): integer;

var s1: integer;

begin

s1:=0;

while x2<>0 do

begin

s1:=s1+(x2 mod 10);

x2:=x2 div 10;

end;

tongcs:=s1;

end;

function ucln(x3,y: integer) : integer;

var z: integer;

begin

while y<>0 do

begin

z:=x3 mod y;

x3:=y;

y:=z;

end;

ucln:=x3;

end;

procedure ip;

begin

assign(f,fi);

reset(f);

readln(f,n);

for i:=1 to n do

read(f,a[i]);

close(f);

end;

procedure out;

begin

assign(f,fo);

rewrite(f);

max:=0; max2:=0; max3:=0;

for i:=1 to n do

begin

if (dn(a[i])=a[i]) and (a[i]>max) then max:=a[i];

if dn(a[i])>max2 then max2:=dn(a[i]);

if (nt(a[i])) and (tongcs(a[i])>max3) then max3:=a[i];

end;

writeln(f,max);

for i:=1 to n do if dn(a[i])=max2 then

writeln(f,a[i]);

max4:=0;

for i:=1 to n do

for j:=i to n do

if (a[i]<>a[j]) and (ucln(a[i],a[j])>max4) then max4:=ucln(a[i],a[j]);

for i:=1 to n do

for j:=i to n do

if ucln(a[i],a[j])=max4 then writeln(f,a[i],' ',a[j]);

write(f,max3);

close(f);

end;

begin

ip;

out;

end.

22 tháng 8 2019

camr ơn

23 tháng 8 2019

VD chính xác :

m1.inp m1.out

5

-2 3 5 4 -7

-2 3 5 4 -7

-7 -2 3 4 5

Lời giải :

program hotrotinhoc;

const fi='m1.inp';

fo='m1.out';

var f: text;

i,n,tg : integer;

a: array[1..32000] of integer;

procedure ip;

begin

assign(f,fi);

reset(f);

readln(f,n);

for i:=1 to n do

read(f,a[i]);

close(f);

end;

procedure out;

begin

for i:=1 to n do

write(f,a[i],' ');

writeln(f);

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i]>a[j] then

begin

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

end;

for i:=1 to n do write(f,a[i],' ');

close(f);

end;

begin

ip;

out;

end.

24 tháng 8 2019

ok

Câu 1 (6,0 điểm): Tính giá trị Nhập vào 2 số nguyên dương N và M. Yêu cầu: Tính tổng M các số tận cùng của N. Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N. - Dòng 2: Ghi số nguyên dương M (M≤ N) . Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau: - Ghi kết quả tổng của M số tận cùng của N. Ví...
Đọc tiếp

Câu 1 (6,0 điểm): Tính giá trị

Nhập vào 2 số nguyên dương N và M.

Yêu cầu: Tính tổng M các số tận cùng của N.

Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N.

- Dòng 2: Ghi số nguyên dương M (M≤ N) .

Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau:

- Ghi kết quả tổng của M số tận cùng của N.

Ví dụ:

CAU1.INP

CAU1.OUT

34562

2

8

Câu 2 (7,0 điểm): Tìm số

Dãy các số tự nhiên được viết ra thành một dãy vô hạn trên đường thẳng:

1234567891011121314..... (1)

Yêu cầu: Viết chương trình yêu cầu nhập số K và in lên tệp CAU2.OUT kết quả là số nằm ở vị trí thứ K trong dãy (1) ở trên và số đó thuộc vào số nào?

Dữ liệu vào: Cho trong file văn bản CAU2.INP, có cấu trúc như sau:

- Ghi số nguyên dương K

Dữ liệu ra: Ghi ra file văn bản CAU2.OUT, theo cấu trúc như sau:

- Trên 1 dòng in kết quả số ở vị trí K và số chứa số đó cách nhau ít nhất một dấu cách.

Ví dụ:

CAU2.INP

CAU2.OUT

15

2 12

Câu 3 (7,0 điểm): Đếm ký tự

Cho một văn bản gồm N dòng. Các ký tự được lấy từ tập các chữ cái và chữ số.

Yêu cầu: Tìm số lượng ký tự của dòng ngắn nhất, số lượng ký tự của dòng dài nhất và số lượng ký tự của văn bản.

Dữ liệu vào: Cho trong file văn bản CAU3.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N là số dòng của văn bản (1 ≤ N ≤ 100).

- N dòng tiếp theo: Mỗi dòng ghi một xâu gồm L ký tự (0 < L < 255).

Dữ liệu ra: Ghi ra file văn bản CAU3.OUT, theo cấu trúc như sau:

- Dòng 1: Ghi 3 số nguyên dương x y z. Trong đó: x là số lượng ký tự của dòng ngắn nhất; y là số lượng ký tự của dòng dài nhất, z là số lượng ký tự của văn bản. Các số được ghi cách nhau ít nhất một dấu cách.

Ví dụ:

CAU3.INP

CAU3.OUT

3

ThiHSG09

Nam2015

Vong1

5 8 20

4
5 tháng 9 2019

cau1

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

cau3

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

6 tháng 9 2019

Câu 2:

*Ý tưởng :

+ Ý 1:

- Bạn không cần chạy đến vô hạn như đề cho đầu , bạn chỉ cần 1 vòng for chạy đến k là được bởi vì nó lấy kí tự thứ k.

- Bạn cho 1 vòng for chạy đến k và chuyển dãy số đó sang xâu và cho 1 biến đếm vào

- Nếu biến đếm bằng với k thì write(s[d]);

+ Ý 2:

- Các số có 1 chữ số chỉ có từ 1 đến 9. Nên nếu d<9 thì write(s[d]);

- Nếu mà d>9 và d là số lẻ thì write(s[d-1],s[d]) ngược là nếu d là số chẵn thì write(s[d],s[d+1]);

Đây là ý tưởng , nếu bạn không hiểu chỗ nào cứ hỏi mình , bạn làm theo ý tưởng mình xem nhé. Nếu không được mình sẽ gửi bài làm của mình cho bạn xem.

3 tháng 9 2019

Lời giải :

program hotrotinhoc;

var st,s : string;

i : integer;

begin

readln(s);

for i:=1 to length(s) do

if s[i] in ['0'..'9'] then st:=st+s[i] else if not(s[i] in ['0'..'9']) then st:=st+' ';

while st[1]=#32 do delete(st,1,1);

while st[length(st)]=#32 do delete(st,length(st),1);

while pos(#32#32,st)<>0 do delete(st,pos(#32#32,st),1);

write(st);

readln

end.

3 tháng 9 2019

const
fi='b9.inp';
fn='b9.out';
var f:text;
i:longint;
s,s1:string;
begin
assign(f,fi);reset(f);
readln(f,s);
close(f);
assign(f,fn);rewrite(f);
i:=0;
while i<=length(s) do
begin
i:=i+1;
if s[i] in ['0'..'9'] then
begin
s1:='';
while s[i] in ['0'..'9'] do
begin
s1:=s1+s[i];
if i=length(s) then break;
i:=i+1;
end;
writeln(f,s1);
end;
end;
close(f);
end.

đây là bài của tớ

6 tháng 4 2017

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

Bạn ơi, xuất ra theo hàng ngang chứ không phải hàng dọc nhé