Tệp và thao tác với tệp

AN

bài 1

Dữ liệu vào lấy từ tệp văn bản mangmin.inp gồm hai dòng:

-dòng 1: số phần tử n

-dòng 2: dãy số a1, a2, ... an mỗi số cách nhau 1 dấu cách

Kết quả ra ghi ra tệp văn bản mangmin.out: giá trị của phần tử min và chỉ số của phần tử min

bài 2

Dữ liệu vào lấy từ tệp vb mangchan.inp gồm 2 động

- dòng 1: số phần tử n

- dòng 2: dãy số a1 a2 ... an mỗi số cách nhau 1 dấu cách

Kq ra ghi ra tệp văn bản mangchan.out: tổng các phần tử chẵn

bài 3

Viết chương trình tách xâu s có sử dụng tệp

-Xâu s1 gồm toàn bộ các ký tự là chữ số có trong xâu s

-Xâu s2 gồm toàn bộ các ký tự là chữ cái thường có trong xâu s

-Xâu s3 gồm toàn bộ các ký tự là chữ in hoa có trong xâu s

-xâu s4 gồm toàn bộ các ký tự là các các kí tự đặc biệt có trong xâu s

Dữ liệu vào đọc từ tệp tachxau.inp: xâu s

Dữ liệu ra ghi vào tệp tachxau.out: 4 xâu ghi trên 4 dòng

bài 4

Viết chương trình sử dụng tệp đếm từ trong xâu s

Dữ liệu vào đọc từ tệp demtu.inp: xâu s

Dữ liệu ra ghi vào tệp demtu.out: số tự trong xâu s

Xét trường hợp có 2 dấu cách liên tiếp; dấu cách đầu, cuối (làm trong một chương trình)

Em cảm ơn <3

NT
15 tháng 5 2020 lúc 13:05

Bài 1:

const fi='mangmin.inp';

fo='mangmin.out';

var f1,f2:text;

a,vt:array[1..100]of integer;

n,i,dem:integer;

begin

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

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

readln(f1,n);

for i:=1 to n do

read(f1,a[i]);

min:=a[1];

for i:=1 to n do

if min>a[i] then min:=a[i];

dem:=0;

for i:=1 to n do

if min=a[i] then

begin

inc(dem);

vt[dem]:=i;

end;

writeln(f2,'Gia tri nho nhat la: ',min);

writeln(f2,'Vi tri cua gia tri nho nhat la: ');

for i:=1 to dem do

write(f2,vt[i]:4);

close(f1);

close(f2);

end.

Bài 2:

const fi='mangchan.inp';

fo='mangchan.out';

var f1,f2:text;

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

n,i,t:integer;

begin

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

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

readln(f1,n);

for i:=1 to n do

read(f1,a[i]);

t:=0;

for i:=1 to n do

if a[i] mod 2=0 then t:=t+a[i];

writeln(f2,t);

close(f1);

close(f2);

end.

Bài 3:

const fi='tachxau.inp';
fo='tachxau.out';
var f1,f2:text;
s,s1,s2,s3,s4:string;
i,d:integer;
j,k,l:char;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,s);
d:=length(s);
s1:='';
for i:=1 to d do
if s[i] in ['0'..'9'] then s1:=s1+s[i];
writeln(f2,'Xau S1 la: ',s1);
s2:='';
for i:=1 to d do
if s[i] in ['a'..'z'] then s2:=s2+s[i];
writeln(f2,'Xau S2 la: ',s2);
s3:='';
for i:=1 to d do
if s[i] in ['A'..'Z'] then s3:=s3+s[i];
writeln(f2,'Xau S3 la: ',s3);
close(f1);
close(f2);
end.

Bài 4:

const fi='demtu.inp';
fo='demtu.out';
var s:string;
i,d,dem:integer;
kt:boolean;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,s);
d:=length(s);
i:=0;
while i<=d do
begin
inc(i);
if ((i=1) and (s[i]=' ')) then
repeat
kt:=false;
if (s[i]=' ') then
begin
delete(s,i,1);
d:=length(s);
end
else kt:=true;
until (kt=true) or (i+1>d)
else repeat
kt:=false;
if (s[i]=' ') and (s[i+1]=' ') then
begin
delete(s,i,1);
d:=length(s);
end
else kt:=true;
until (kt=true) or (i+1>d);
d:=length(s);
end;
while s[d]=' ' do
begin
delete(s,d,1);
d:=length(s);
end;
dem:=0;
for i:=1 to d do
if s[i]=' ' then dem:=dem+1;
writeln(f2,dem+1);
close(f1);
close(f2);
end.

Bình luận (0)

Các câu hỏi tương tự
DT
Xem chi tiết
MD
Xem chi tiết
VD
Xem chi tiết
TC
Xem chi tiết
CC
Xem chi tiết
NA
Xem chi tiết
AH
Xem chi tiết
TT
Xem chi tiết
HN
Xem chi tiết