- 4 Tháng năm 2018
- 1,485
- 1,656
- 236
- Vĩnh Phúc
- Trung học cơ sở Lập Thạch


Làm sao để input vào 1 dòng như sau:
[TBODY]
[/TBODY]Đây là dùng mảng nhé!
Cảm ơn nhiều.
Input |
1 2 3 4 5 |
Cảm ơn nhiều.
Input |
1 2 3 4 5 |
? Chẳng phải là sử dụng vòng for là xong rồi à bạn? Hay là mình hiểu nhầm ý bạn hỏi?Làm sao để input vào 1 dòng như sau:
Đây là dùng mảng nhé![TBODY] [/TBODY]
Input 1 2 3 4 5
Cảm ơn nhiều.
For i:=1 to 5 do
a[i]:=i;
Đấy chỉ là ví dụ thôi! Mình cần tổng quát!? Chẳng phải là sử dụng vòng for là xong rồi à bạn? Hay là mình hiểu nhầm ý bạn hỏi?
Mã:For i:=1 to 5 do a[i]:=i;
Thì từ ví dụ đó mà rút ra cách tổng quát thôi bạnĐấy chỉ là ví dụ thôi! Mình cần tổng quát!
ví dụ nhập n rồi nhập dãy có n chữ số thìĐấy chỉ là ví dụ thôi! Mình cần tổng quát!
Thì từ ví dụ đó mà rút ra cách tổng quát thôi bạn
Bằng cách sử dụng vòng for hoặc While. Đó là cách thông thường
Nếu còn cách nào khác nhanh hơn bằng cách sử dụng các hàm có sẵn hay gì gì đó thì chắc mình học chưa đến rồi![]()
Hôm nay thầy mình giảng rồi mình chia sẻ nè:ví dụ nhập n rồi nhập dãy có n chữ số thì
for i:=1 to n do read(a);
var a:array[1..1000000] of int64;
i,j:longint;
Begin
Assign(input,'vidu.inp');reset(input);
Assign(output,'vidu.out');rewrite(output);i:=1;
While not EOF(input) do
Begin
Read(a[i]);inc(i);
End;
For j:=1 to i-1 do
Write(a[j],' ');
End.
cái while not eof(..) do thì mình biết rồi :v tại bạn chưa nói rõ đề bài thuii,Hôm nay thầy mình giảng rồi mình chia sẻ nè:
Mã:var a:array[1..1000000] of int64; i,j:longint; Begin Assign(input,'vidu.inp');reset(input); Assign(output,'vidu.out');rewrite(output);i:=1; While not EOF(input) do Begin Read(a[i]);inc(i); End; For j:=1 to i-1 do Write(a[j],' '); End.
Theo mình hiểu thì While đấy nó thực hiện đọc vào các số trong File input và đọc được sau 1 số thì tăng i lên. Đến khi i vượt quá lượng số trong file input thì dừng lại. ( tức trong file input không có a vượt quá đề bài)cái while not eof(..) do thì mình biết rồi :v tại bạn chưa nói rõ đề bài thuii,
test thử nhé, bạn hiểu cơ bản (đơn giản nhất) là caí while đó nó hoạt động như thế nào ??
... Lệnh Eof được sử dụng để tránh lỗi thôi bạn ạ. Thật ra nếu nhập dữ liệu mà không cần nó vẫn được...Hôm nay thầy mình giảng rồi mình chia sẻ nè:
Mã:var a:array[1..1000000] of int64; i,j:longint; Begin Assign(input,'vidu.inp');reset(input); Assign(output,'vidu.out');rewrite(output);i:=1; While not EOF(input) do Begin Read(a[i]);inc(i); End; For j:=1 to i-1 do Write(a[j],' '); End.
biến i được gán ban đầu bằng 1 đó anh. Nên sau vòng lặp cuối cùng nó sẽ bị tăng 1 giá trị nữa.... Nên mới for j:=1 to i-1 dothắc mắc cái "mã" trên tại sao lại for j:=1 to i-1 do
chạy đến i mới đúng chứ
mất công gán i:=1 cho chán rồi cho chạy for đến i-1 chi cho mắc mệt vậy :>>... Lệnh Eof được sử dụng để tránh lỗi thôi bạn ạ. Thật ra nếu nhập dữ liệu mà không cần nó vẫn được...
biến i được gán ban đầu bằng 1 đó anh. Nên sau vòng lặp cuối cùng nó sẽ bị tăng 1 giá trị nữa.... Nên mới for j:=1 to i-1 do