01/10/2018, 15:12

Cho em hỏi đoạn code tính điểm trung bình môn học này sao lại không chạy được ạ?

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{   int n,dem=0;
    double *diem,trungBinh=0;
    diem = new double[n];
    for(int i=0; i<n; i++){
        cin>>diem[i];
        while(cin>>n){
        dem++;
        }
    }
    for(int i=0; i<dem; i++){
        trungBinh+=diem[i];
    }
    trungBinh/=n;
    cout<<fixed<<setprecision(2)<<trungBinh;
}
Zhang Jike viết 17:25 ngày 01/10/2018

Mình không biết C++ nhưng ngó qua thấy n của bạn dường như = 0 vậy thì mấy vòng for đâu có chạy?
Cái thứ 2 là bạn có thể format lại code được không. Code bạn khó nhìn quá ?

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
  int n, dem = 0;
  double *diem, trungBinh = 0;
  diem = new double[n];

  for (int i = 0; i < n; i++) {
    cin >> diem[i];
    while (cin >> n) {
      dem++;
    }
  }

  for (int i = 0; i < dem; i++) {
    trungBinh += diem[i];
  }

  trungBinh/=n;
  cout << fixed << setprecision(2) << trungBinh;
}
rogp10 viết 17:18 ngày 01/10/2018

Rốt cục biến n là để lưu cái gì vậy bạn?

HK boy viết 17:17 ngày 01/10/2018
for(int i=0; i<n; i++){
        cin>>diem[i];
        while(cin>>n){
        dem++;
        }
    }

n là cái gì hả bạn?

Bạn thử đọc đoạn này xem code có ổn không nhé.

Kaiba Zax viết 17:23 ngày 01/10/2018

Bạn thiếu cin n trước new double [n] nên mảng của bạn từ đầu độ dài đã là 0

Phan Văn Tuấn viết 17:16 ngày 01/10/2018

n đấy mình khởi tạo mục đích là số điểm được nhập vào bạn.

Phan Văn Tuấn viết 17:14 ngày 01/10/2018

Bài nó không cho phép nhập n bạn. Đây mảng động mà?
n đấy mình khởi tạo mục đích là số điểm được nhập vào bạn.

rogp10 viết 17:24 ngày 01/10/2018

n đấy mình khởi tạo mục đích là số điểm được nhập vào bạn.

  1. Vậy tại sao bạn viết cin >> n; ?
  2. Như vậy thì bạn phải viết một cái mảng tự co giãn
Bài liên quan
0