Xét hạng - Bài toàn dài nhất từ trước tới giờ
3 posters
Trang 1 trong tổng số 1 trang
Xét hạng - Bài toàn dài nhất từ trước tới giờ
Vào dịp tổng kết năm học, nhà trường tổ chức khen thưởng cho các học sinh đạt hạng Nhất, Nhì, Ba trong toàn trường với những phần thưởng đặc biệt và muốn biết điểm số có phá kỉ lục điểm của năm học trước hay không. Số học sinh được các lớp đề nghị khen thưởng rất nhiều nên nhà trường cần xét chọn lại.
Việc xét hạng theo nguyên tắc: Các học sinh bằng điểm thì đồng hạng và không có thứ hạng kế tiếp. Chẳng hạn: Có 3 học sinh đồng hạng Nhất thì không có học sinh hạng Nhì, hạng Ba. Có 2 học sinh đồng hạng Nhì thì không có học sinh hạng Ba.
- Yêu cầu: Cho trước kỉ lục điểm năm học trước là K, số lượng học sinh đề nghị khen thưởng là N, các điểm số tương ứng là: a1, a2, …, aN.
a) Xét xem điểm số của học sinh có phá kỉ lục điểm năm học trước hay không? Nếu phá kỉ lục điểm thì tính số điểm vượt kỉ lục, nếu không phá kỉ lục điểm thì ghi số 0.
b) Thống kê số lượng học sinh đạt hạng Nhất, số lượng học sinh đạt hạng Nhì, số lượng học sinh đạt hạng Ba và điểm số tương ứng của thứ hạng đó.
- Dữ liệu vào: Từ tệp văn bản XETHANG.INP gồm 2 dòng:
+ Dòng đầu tiên số nguyên N và số thực K (3≤ N ≤100, 0 <K≤10.0).
+ Dòng tiếp theo ghi các số thực a1, a2, …, aN (0<ai≤10.0, 1≤ i ≤ N).
Các số trên một dòng cách nhau một kí tự trắng.
- Kết quả: Ghi vào tệp văn bản XETHANG.OUT gồm:
+ Dòng thứ nhất ghi kết quả của câu a.
+ Dòng thứ hai ghi số lượng học sinh đạt hạng Nhất và điểm số của hạng Nhất.
+ Dòng thứ ba ghi số lượng học sinh đạt hạng Nhì và điểm số của hạng Nhì.
+ Dòng thứ tư ghi số lượng học sinh đạt hạng Ba và điểm số của hạng Ba.
Các số trên cùng một dòng cách nhau một kí tự trắng, các điểm số lấy một chữ số thập phân.
Ví dụ:
(XETHANG.INP
5 9.8
9.6 9.8 9.6 9.8 9.9
XETHANG.OUT
1 9.9
2 9.8
0)
(XETHANG.INP
6 9.9
9.6 9.8 9.6 9.8 9.6 9.5
XETHANG.OUT
0
2 9.8
0
3 9.6)
Bài toán cuối cùng và cũng là kết thúc năm học của chúng ta
Việc xét hạng theo nguyên tắc: Các học sinh bằng điểm thì đồng hạng và không có thứ hạng kế tiếp. Chẳng hạn: Có 3 học sinh đồng hạng Nhất thì không có học sinh hạng Nhì, hạng Ba. Có 2 học sinh đồng hạng Nhì thì không có học sinh hạng Ba.
- Yêu cầu: Cho trước kỉ lục điểm năm học trước là K, số lượng học sinh đề nghị khen thưởng là N, các điểm số tương ứng là: a1, a2, …, aN.
a) Xét xem điểm số của học sinh có phá kỉ lục điểm năm học trước hay không? Nếu phá kỉ lục điểm thì tính số điểm vượt kỉ lục, nếu không phá kỉ lục điểm thì ghi số 0.
b) Thống kê số lượng học sinh đạt hạng Nhất, số lượng học sinh đạt hạng Nhì, số lượng học sinh đạt hạng Ba và điểm số tương ứng của thứ hạng đó.
- Dữ liệu vào: Từ tệp văn bản XETHANG.INP gồm 2 dòng:
+ Dòng đầu tiên số nguyên N và số thực K (3≤ N ≤100, 0 <K≤10.0).
+ Dòng tiếp theo ghi các số thực a1, a2, …, aN (0<ai≤10.0, 1≤ i ≤ N).
Các số trên một dòng cách nhau một kí tự trắng.
- Kết quả: Ghi vào tệp văn bản XETHANG.OUT gồm:
+ Dòng thứ nhất ghi kết quả của câu a.
+ Dòng thứ hai ghi số lượng học sinh đạt hạng Nhất và điểm số của hạng Nhất.
+ Dòng thứ ba ghi số lượng học sinh đạt hạng Nhì và điểm số của hạng Nhì.
+ Dòng thứ tư ghi số lượng học sinh đạt hạng Ba và điểm số của hạng Ba.
Các số trên cùng một dòng cách nhau một kí tự trắng, các điểm số lấy một chữ số thập phân.
Ví dụ:
(XETHANG.INP
5 9.8
9.6 9.8 9.6 9.8 9.9
XETHANG.OUT
1 9.9
2 9.8
0)
(XETHANG.INP
6 9.9
9.6 9.8 9.6 9.8 9.6 9.5
XETHANG.OUT
0
2 9.8
0
3 9.6)
Bài toán cuối cùng và cũng là kết thúc năm học của chúng ta
Thành Lợi- Chăm chỉ
- Tổng số bài gửi : 108
Điểm thành tích : 17179
Reputation : -35
Join date : 03/01/2015
Age : 23
Đến từ : Việt Nam
Re: Xét hạng - Bài toàn dài nhất từ trước tới giờ
Đề càng dài càng dễ, vì càng dài càng nhiều dữ kiện để mình có thể giải quyết bài vấn đề. Bài này không ngoại lệ em xem dữ liệu ra ở câu a/ có đúng không nhé (y/cầu: số điểm vượt kỷ lục)
À, Ai giải quyết xong bài này thì giải quyết giúp bài "cải tiến" của bài này chút xíu: dữ liệu vào như cũ; dữ liệu ra:
Hàng 1: Ghi vị trí của hạng nhất
Hàng 2: Vị trí hạng nhì
Vị trí hạng 3.
À, Ai giải quyết xong bài này thì giải quyết giúp bài "cải tiến" của bài này chút xíu: dữ liệu vào như cũ; dữ liệu ra:
Hàng 1: Ghi vị trí của hạng nhất
Hàng 2: Vị trí hạng nhì
Vị trí hạng 3.
Re: Xét hạng - Bài toàn dài nhất từ trước tới giờ
- ...:
- Code:
program xethang;
uses crt;
type mang=array[1..100,1..100]of real;
var fi,fo:text;
a:mang;
n:integer;
k:real;
procedure docdulieu;
var i:integer;
begin
assign(fi,'d:\nhu\thuynhu\xethang.inp');
reset(fi);
readln(fi,n,k);
for i:=1 to n do
begin
read(fi,a[1,i]);
a[2,i]:=i;
end;
close(fi);
end;
procedure doivitri(var b,c:real);
var t:real;
begin
t:=b;
b:=c;
c:=t;
end;
procedure sapxep(var a:mang);
var i,j:integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[1,i]<a[1,j] then
begin
doivitri(a[1,i],a[1,j]);
doivitri(a[2,i],a[2,j]);
end;
end;
procedure kiluc(var n,k:real);
begin
if n>k then
begin
write(fo,'diem so cua hoc sinh nam nay da pha ki luc diem cua nam truoc:');
writeln(fo,n-k:2:1);
end
else writeln(fo,0);
end;
procedure thongke(var a:mang);
var so:real;
vt,d,h,i,j:integer;
begin
so:=a[1,1]; vt:=1;
d:=1; h:=1;
for i:=2 to n do
begin
if (a[1,i]=so)and(i<n) then d:=d+1
else if (a[1,i]<>so)and(i<n) then
begin
write(fo,'co ',d,' nguoi o hang thu ',h, ' la: ');
for j:=vt to vt+d-1 do write(fo,' nguoi o vi tri thu ',a[2,j]:0:0,', ');
writeln(fo,'voi so diem la: ',so:2:1);
so:=a[1,i];
vt:=i;
h:=h+1;
d:=1;
end
else if (a[1,i]=so)and(i=n) then
begin
d:=d+1;
write(fo,'co ',d,' nguoi o hang thu ',h, ' la: ');
for j:=vt to vt+d-1 do write(fo,' nguoi o vi tri thu ',a[2,j]:0:0,', ');
writeln(fo,'voi so diem la: ',so:2:1);
end
else if (a[1,i]<>so)and(i=n) then
begin
write(fo,'co ',d,' nguoi o hang thu ',h, ' la: ');
for j:=vt to vt+d-1 do write(fo,' nguoi o vi tri thu ',a[2,j]:0:0,', ');
writeln(fo,'voi so diem la: ',so:2:1);
write(fo,1,#32,a[1,i]:2:1);
write(fo,'co 1 nguoi o hang thu ',h+1,' la: ');
writeln(fo,' nguoi o vi tri thu ',i);
writeln(fo,'voi so diem la: ',so:2:1);
end;
end;
end;
procedure xuli;
begin
assign(fo,'d:\nhu\thuynhu\xethang.out');
rewrite(fo);
docdulieu;
sapxep(a);
kiluc(a[1,1],k);
thongke(a);
close(fo);
end;
begin
xuli;
end.
thuynhu- Thánh code
- Tổng số bài gửi : 73
Điểm thành tích : 17164
Reputation : 1
Join date : 03/01/2015
Age : 23
Similar topics
» Tìm bội chung nhỏ nhất của n số
» Bán hoa ngày tết
» hang tu chan le
» Tổng kết toàn bộ bài tập
» Bài toán ô vuông (4 điểm) Bài kiểm tra cuối kỳ.
» Bán hoa ngày tết
» hang tu chan le
» Tổng kết toàn bộ bài tập
» Bài toán ô vuông (4 điểm) Bài kiểm tra cuối kỳ.
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|