Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: giúp em xem thuật toán như này đúng chưa ạ.

  1. #1
    Ngày gia nhập
    12 2018
    Bài viết
    5

    Mặc định giúp em xem thuật toán như này đúng chưa ạ.

    Đề bài là nhập một dãy n số thực.Trong số các bộ 3 phần tử liên tiếp hãy tìm một bộ có tích nhỏ nhất.Hãy in bộ 3 phần tử và tích nhỏ nhất tìm được.
    min=x[1]*x[2]*x[3];
    for(i=1;i<=n;i++)
    if(min>x[i]*x[i+1]*x[i+2])
    printf("bo 3 phan tu co tich nho nhat la %f %f %f\n",x[i],x[i],x[i]);
    printf("Tich nho nhat la %f",min);

  2. #2
    Ngày gia nhập
    08 2017
    Bài viết
    2,356

    Trích dẫn Nguyên bản được gửi bởi triutuat Xem bài viết
    Đề bài là nhập một dãy n số thực.Trong số các bộ 3 phần tử liên tiếp hãy tìm một bộ có tích nhỏ nhất.Hãy in bộ 3 phần tử và tích nhỏ nhất tìm được.
    ...
    C Code:
    1. min=x[1]*x[2]*x[3];
    2. for(i=1;i<=n;i++) //(1)
    3.     if(min>x[i]*x[i+1]*x[i+2])
    4.         printf("bo 3 phan tu co tich nho nhat la %f %f %f\n",x[i],x[i],x[i]); //(2)
    5. printf("Tich nho nhat la %f",min);

    triutuat chưa đúng, nói rõ là sai. Mảng x[n], dãy n phần tử trong xi, khi không có chỉ định khác, nó ngầm định đếm từ 0 đến (n - 1).
    (1) - có bao nhiêu bộ, bao nhiêu bước được thực hiện?
    (2) - một dãy số không âm, giảm dần, kết quả có nhiều tích nhỏ nhất tìm thấy !

  3. #3
    Ngày gia nhập
    07 2018
    Bài viết
    7

    Code:
    #include <iostream>
    
    using namespace std;
    
    float arr[100], Min, check;
    int i, j, n;
    int main(){
    	cout << "Nhap N:";
    	do{
    		cin >> n;
    		if(n < 4) cout << "n phai lon hon 3" << endl;
    	}while(n < 4);
    	cout << "Nhap cac phan tu:";
    	for(i = 0; i < n; i++){
    		cin >> arr[i];
    	}
    	Min = arr[0] + arr[1] + arr[2];
    	for(i = 1; i < n - 2; i++){
    		check = arr[i] * arr[i+1] * arr[i+2];
    		if(check < Min) {
    			Min = check;
    			j = i;
    		}
    	}
    	cout << endl << "Cac so lien tiep co tich nho nhat la: \t";
    	cout << arr[j] << ", " << arr[j+1] << ", " <<arr[j+2];
    	cout << endl << "Tich nho nhat la: " << arr[j] * arr[j+1] * arr[j+2];
    }
    Đã được chỉnh sửa lần cuối bởi tkdlbhvn : 24-12-2018 lúc 05:24 PM.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn