30/09/2018, 20:50

Mong anh chị giúp giải thích đọạn code sau em không hiểu ,em mới học lập trình nên còn gà lắm

đề :Viết chương trình nhập vào N số nguyên, tìm số lớn nhất, số nhỏ nhất
em không hiểu ở chổ :a[100] ,scanf("%d",&a[i]); có ý nghĩa gì
code:

 int n, i, a[100], max, min;
         printf("Nhap so phan tu cua day N = ");
 		scanf("%d",&n);
 		for(i=1; i<=n; i++)
 		{
 			printf("a[%d]: ",i);   
 			scanf("%d",&a[i]);
         }
          max=a[1];
         for(i=1; i<=n; i++) 
 		{
 			if(a[i]>max) 
 			{
                max=a[i];
             }
         }
        printf("
So lon nhat trong day la: %d", max);
 	   min=a[1];
 	   for(i=1; i<=n; i++) 
 	   {
 		   if(a[i]<min) 
 		   {
 			 min=a[i];
            }
        }
 	   printf("
So nho nhat trong day la: %d", min);
 	getch();
vũ xuân quân viết 22:55 ngày 30/09/2018

a[100] --> tạo mảng 1 chiều với bộ nhớ là 100 phần tử.
scanf("%d",&a[i]); --> nhập phần tử thứ i của mảng a.

Người bí ẩn viết 22:52 ngày 30/09/2018

Bạn học về phần Mảng và Vòng lặp chưa? Nếu mới học lập trình thì cứ học chậm mà chắc là được, không cần phải hiểu những đoạn code phức tạp so với bạn nhé![quote=“duc_nguyen7, post:1, topic:25990”]
int n, i, a[100], max, min;
[/quote]

biến n là số lượng phần tử, khai báo mảng a[100] gồm 100 phần tử, hai biến Max Min để tìm số lớn nhất và nhỏ nhất.

for(i=1; i<=n; i++)

for(i=1; i<=n; i++)

for(i=1; i<=n; i++)

Tất cả những cái này bạn đều gán sai hết vì phần tử đầu tiên và cuối cùng trong mảng bao giờ cũng là a[0]a[n-1]
Còn về việc code của 2 biến Max, Min thì chỉ việc gán cho 2 biến Max và Min 1 phần tử bất kỳ trong mảng, sau đó đem so với các phần tử còn lại, nếu phần tử nào lớn hơn cả Max hoặc nhỏ hơn cả Min thì cập nhật Max và Min cho phần tử đó cho đến khi vòng lặp kết thúc.
Bạn học hết playlist C của anh @ltd chưa?
Nếu chưa thì học để lấy kiến thức căn bản đã nhé: https://www.youtube.com/playlist?list=PLyiioioEJSxHr5X8RNY3QXUGcjzeZeI7l

Còn về phần mảng thì bạn có thể học link sau, cũng khá dễ hiểu: https://www.youtube.com/watch?v=laasbEOC8Ew&list=WL&index=2

Duc Nguyen viết 23:02 ngày 30/09/2018

cám ơn bạn nhiều bạn có thể cho mình xin facebook làm quen nhé

Dung Nguyen viết 23:03 ngày 30/09/2018

Các bạn trên trả lời thắc mắc rồi, mình chỉ xin góp ý chút:
Lần sau viết hoặc mang code đi hỏi thì trình bày code thành từng khối, thụt đầu dòng cho tử tế cho đẹp tí.
Vào nhìn code là không muốn xem rồi !
May đây chỉ là bài toán cơ bản, chứ mà chương trình phức tạp thì khổ người xem lắm.
(P/s: góp ý theo ý kiến cá nhân thôi, ko chỉ trích đâu nhé )

anon51853234 viết 22:54 ngày 30/09/2018

lạ à nha , chưa học đến mảng mà đã làm bài này dùng mảng , bạn học vậy là không ổn rồi , đi quá nhanh có ngày té sớm

Người bí ẩn viết 23:03 ngày 30/09/2018

đi quá nhanh có ngày té sớm

Cái này gọi chính xác là Chưa học bò đã lo học chạy

Ngô Doãn Tuấn viết 23:02 ngày 30/09/2018

:a[100] ,scanf("%d",&a[i]);

Mình nghĩ rằng những kiến thức như thế này thì người mới bắt đầu mới học cũng có thể nắm được
Có thể gọi nó là kiến thức sách giáo khoa đi.
Nhưng câu hỏi như thế này. Nhất là bạn đang bắt đầu học lập trình thì không nên hỏi.
Đừng bạ đâu hỏi đấy, cái gì cũng hỏi . . .
Như thế tạo thành thói quen không tốt.
Giữa việc hỏi và tự việc tìm hiểu thì mình nghĩ việc tự tìm hiểu những vấn đề này sẽ tốt cho bạn trong con đường lập trình.
Hãy biết cách đặt một câu hỏi thông minh
Thân

Rumit viết 22:53 ngày 30/09/2018

Để code có thể thành từng khối như lúc viết trong IDE bạn có thể dùng thẻ cặp thẻ

Ngô Doãn Tuấn viết 23:03 ngày 30/09/2018

Bạn có thể dùng ba dấu ` cũng được
Nếu sử dụng cặp thẻ trên thì có thể định dạng theo ngôn ngữ bằng cách thêm đoạn
language = " "

Bài liên quan
0