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

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Anh Nguyen

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

Nguyễn Lê Phước Thịnh
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.


Các câu hỏi tương tự
Đào Xuân Trọng
Xem chi tiết
Miner Đức
Xem chi tiết
Vũ Hữu Đại
Xem chi tiết
trần đình cường
Xem chi tiết
CỦ CẢI
Xem chi tiết
Nguyen Duc Anh
Xem chi tiết
Alpha Phương Hoa
Xem chi tiết
Trần Thanh Trọng
Xem chi tiết
Hằng Nguyễn
Xem chi tiết