30/09/2018, 18:19

Liệt kê những số lớn nhất có trong mảng c++

Không biết e có làm sai chỗ nào không mà sao khi em in ra nó lại sai các bác ạ.

Mong các bác sữa dùm e với hic

// Bai_1.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <iostream>
using namespace std;
#define MAX 100

//nhập mảng
void nhapmang(int a[], int n) {
    for (int i = 0; i < n; i++) {
        cout << "nhap phan tu a[" << i << "]" << ":";
        cin >> a[i];
    }
}

//xuất mảng
void xuatmang(int a[], int n) {

    for (int i = 0; i < n; i++) {
        cout << a[i] << " ";
    }
    cout << endl;
}

// liệt ke gtri Max trong mảng
void  Liet_ke_Max(int a[], int n) {
    int max = 0;
    int pos;
    for (int i = 0; i < n; i++) {
        if (max < a[i]) {
            max = a[i];
            pos = max;
        }
    }
    for (int j = 0; j< n; j++) {
        if (a[j] =pos) {
            n--;
            cout << a[j] << " ";
        }
    }
}

int _tmain(int argc, _TCHAR* argv[]) {
    int a[MAX], n,vt,x;
    cout << "nhap phan tu n=";
    cin >> n;
    nhapmang(a, n);
    xuatmang(a, n);
    ////////////////////////////
    Liet_ke_Max(a, n);
    return 0;
}
viết 20:31 ngày 30/09/2018

Bạn post lại code đi, sai hết chính tả rồi kìa.

Long Long viết 20:23 ngày 30/09/2018

hihi. không để ý cảm ơn nha. cơ mà sửa lỗi thuật toán dùm mình với

viết 20:28 ngày 30/09/2018

Bạn sai ở đây, để là if(a[j] == pos) nhé

if (a[j] =pos)

Với lại bạn nên gán giá trị ban đầu của max = a[0], vì nếu gán max = 0 rồi nhập vào mảng toàn số âm thì nó in ra max = 0 à.

Long Long viết 20:34 ngày 30/09/2018

haiz. bạn ko biết sáng giờ mình như điên lên với bài này. tức thiệt chứ sao sai chỗ đó hoài vậy ko bit. ư. cơ mà mình nghe thầy bảo ko nên gán max=a[0] mà có nhiều trường hợp nó bị sai

viết 20:28 ngày 30/09/2018

Cố lên bạn, tuy mất thời gian nhưng lại nhớ lâu, lần sau không bị mắc lại nữa.
Bạn học cách dùng debug thì kiểm tra lỗi sẽ tốt hơn đấy.

cơ mà mình nghe thầy bảo ko nên gán max=a[0] mà có nhiều trường hợp nó bị sai

Mình nghĩ thầy bạn bảo thế là vì có một số bạn k dùng a[0] mà chỉ lấy a[1], a[2] … a[100] nên nếu gán max = a[0] sẽ bị lỗi.

Bài liên quan
0