Code xử lý mảng số thực bị sai ở chỗ nào?

#include <bits/stdc++.h>


using namespace std;
int n;
long double A[100005], maxx, s = 0;
long double cnt = 0;
int main()
 
 {
 
 cin >> n;
    for(int i = 1, i < = n; i++) cin >> A[i];
    maxx = -18;
    for(int i = 1, i <= n; i++)
    {
        maxx = max(maxx , A[i]);
        if ([A] > 0)
        {
            s = s + A[i];
            cnt++;
        }
    }
    if(cnt)
    cout << s/cnt << endl;
    else cout << 0 << endl;
    cout << maxx;
    return 0;
}

image

Sai lớn nhất là bạn không cho biết đề và yêu cầu là gì, cùng với đó bạn nêu hướng làm của bạn cho mọi người biết mà đánh giá vấn đề.

Một câu hỏi có tâm sẽ nhận được nhiều câu trả lời có tâm.

2 Likes

xin lỗi bạn tại mình mới đăng bài nên chưa biết mong bạn thông cảm

1 Like

Xem đề làm mình hơi khó chịu:

  1. Đề không đưa ra cấu trúc nhập và xuất.
  2. Đề không đưa ra giới hạn của các giá trị nhập vào.

Đó là về đề, không phải vấn đề của bạn. Đừng suy nghĩ nhiều.
Đây mới là về bạn:

Bạn cho biết thêm, bạn đang gặp vấn đề gì? Lỗi biên dịch? Lỗi thực thi? Hay kết quả không theo ý của bạn.

  1. Có vài lỗi cú pháp, không biết do bạn chép thiếu hay do bạn thực sự viết như vậy.
  1. Bài này yêu cầu thao tác với tập tin. Bạn đang thao tác với Console.
  2. Chỉ số của mảng bắt đầu từ 0. Bạn lại cho nó đi từ 1.
  3. Lý do gì khiến bạn gán maxx = -18?
  4. Chỗ xuất TBC và MAX, bạn xuất giá trị bị dính liền nhau.
3 Likes

Em tưởng maxx phải gán với một giá trị bất kì rồi sau đó so sánh các số A[i] thì sẽ ra giá trị lớn nhất.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?