Đề ở trong link google driver, anh em vào giúp mình bài số 3:
drive.google.com/file/d/0Byjf_8awQ8_XU0xTcTBROXhsbW8/view
drive.google.com/file/d/0Byjf_8awQ8_XU0xTcTBROXhsbW8/view
type arr = array[1..1000000] of double;
var a : arr;
n, m, i, j : longint;
procedure sort(L, R : longint);
begin
.........
end;
BEGIN
readln(m);
writeln(m);
for i := 1 to m do
begin
n := 0;
while not eoln do
begin
inc(n);
read(a[n]);
end;
readln;
sort(1, n);
for j := 1 to n do
write(a[j]:0:2, ' ');
writeln;
end;
END.
Bạn lập 1 chương trình Function tính tổng các chữ số của 1 số có 4 chữ số (năm sinh cần tìm)Cho mình hỏi bài này với.......
Viết chương trình để tìm năm sinh của Nguyễn Du biết đến năm 1786 tuổi của ông bằng tổng các chữ số năm ông sinh ra (Pascal)???????????
Function là hàm (chương trình con) do người dùng định nghĩa, làm riêng trước khi vào phần chính. Đến phần chính rồi lôi ra dùng bao nhiêu lần cũng được. Làm thế để chương trình nó rõ ràng, mạch lạc.Bạn ơi bạn nói rõ hơn được ko ah?
Ko dùng Function được ko ah?
Vì mình mới học Pascal nên mình chưa hiểu??????? Bạn code cho mình đoạn vòng lặp được ko ah?
Var ...
Function TongChuSo(k:integer) : integer;
Begin
tong:=0;
for i:=1 to 4 do
begin
tong:=tong+k mod 10;
k: = k div 10;
end;
TongChuSo:=tong;
End;
BEGIN
NamCanTim:=1786;
while 1786-NamCanTim<>TongChuSo(NamCanTim) do
begin
NamCanTim:=NamCanTim-1;
end;
writeln('Nam can tim =',NamCanTim);
readln;
END.
Bạn cần đọc kiến thức cơ bản về việc sử dụng các vòng lặpCảm ơn bạn rất nhiều mình làm được rồi.
Kết quả là Nam can tim = 1766
while 1786-NamCanTim<>TongChuSo(NamCanTim) do {Trong khi Tuoi khong bang Tong cac chu so nam ong sinh ra}
begin
NamCanTim:=NamCanTim-1;{Giam gia tri di 1}
end;
Mình chưa hiểu lắm chỗ While...do, sao giảm đi 1 nhỉ? mình thêm phần giải thích như trên????
Có phải là giảm đi 1 để ra năm cần tìm?