viết chưng trình pascal

B

buimaihuong

nhưng mà n chỉ thuộc vào từ 0 đến 100 thôi mà.

Có cần lấy số to đến thế không lấy số bé hơn có được không vậy bạn?

Mình vẫn chưa hiểu cách của bạn lắm
 
B

buimaihuong

phải < hơn chứ!

tớ nghĩ là gán min:= a
rồi so sánh với a+i
=> min
có phải không nhỉ
ý tưởng là thế còn viết thế nào thì mong bạn giúp
 
M

matnatinhyeu_1995

Anh Thành ơi, anh xem em làm thế này được ko ạ?:)

PHP:
Var i,n,min:integer;
a:array[1..100] of integer;
begin
         write('nhap n');readln(n);
         for i:=1 to n do
             begin
                     write('a[',i,']=');readln(a[i]);
             end;
         min:=a[1];
         for i:=2 to n do 
           if a[i]<min then min:=a[i];
         writeln(min);
         readln;
end.
 
O

ochuotqb

Mã:
var i,n,min :integer; a:array[1..100] of integer;
begin
    [COLOR="orange"]min[/COLOR]:=65000;
   readln(n); 
   for i:=1 to n do 
       begin 
           readln(a[i]);
            if min <a[i] then [COLOR="red"]m[/COLOR]:=a[i];
     end;
   write(min);
    readln end.
Biến m đâu ra anh!
min thuộc kiểu integer tại sao Min:=65000;
Cho đúng đi nữa, nếu a bé hơn 65000 sao tìm được min. Min là số nhỏ nhất mà :)
 
Q

quanghero100

em thì làm thế này cho đơn giản anh và mọi người xem thử:D:D:D
Mã:
uses crt;
var n,i,min:integer;
      a:array[1..100] of integer;
begin
  clrscr;
  write('nhap so phan tu: '); readln(n);
   writeln('nhap gia tri cho cac phan tu:');
    for i:=1 to n do
      readln(a[i]);
     min:=a[1];
     for i:2 to n do
       if min>a[i] then min:=a[i];
     writeln('gia tri nho nhat la: ',min);
   readln;
end.
 
Last edited by a moderator:
M

marik

mình ko hiểu chỗ min: = 65000 là như thế nào?
min chỉ thuộc vào 0 -> 100 thôi mà
Không biết em hiểu chưa nhưng anh nói qua chút!

do trong thuật toán ta phải so sánh lần lượt min với các giá trị trong mảng để tìm giá trị bé nhất nên bắt buộc min phải có giá trị đầu, khi đó ta có 2 lựa chọn hoặc gán min là 1 số bất kì trong mảng thì sẽ như thế này:

uses crt;
var n,i,min:integer;
a:array[1..100] of integer;
begin
clrscr;
write('nhap so phan tu: '); readln(n);
writeln('nhap gia tri cho cac phan tu:');
for i:=1 to n do
readln(a);
min:=a[1];
for i:=2 to n do
if min>a then min:=a;
writeln('gia tri nho nhat la: ',min);
readln;
end.


hoặc ta gán một giá trị đầu bất kỳ khác cho min, nhưng do min là min nên để đảm bảo tìm được giá trị bé nhất thì min phải lớn hơn tất cả các số còn lại trong mảng, ví dụ ta cho các số <100 nên ta gán min > 100 là được, không nhất thiết phải gán min= maxint nhưng nếu không có giới hạn thì ta buộc phải dùng min = maxint như bài này. Chắc em không đọc kỹ đề =.=
 
Last edited by a moderator:
Top Bottom