Xuất ra vị trí của các phần tử có giá trị lớn nhất.

int Max(int a[], int n)
{
   int temp = a[0];
   for(int i=1;i
   if(temp
      temp=a[i];
   return temp;
}

1. Viết chương trình nhập vào mảng gồm n số nguyên, - Đếm và đưa ra số phần tử chẵn của mảng - đưa ra số chẵn lớn nhất trong mảng - Tính tổng các số ở vị trí lẻ trong mảng - Tìm giá trị phần tử lẻ nhỏ nhất

Chào mọi người, em mới học C và có 1 bài tập : Tìm vị trí phần tử lớn nhất trong mảng, nếu có nhiều phần tử lớn nhất thì chỉ cần tìm phần tử đầu tiên.
Cho em hỏi là cách tìm vị trí của phần tử lớn nhất như thế nào ạ

Xuất ra vị trí của các phần tử có giá trị lớn nhất.

1 Like

Trong 1 dãy số đâu có 2 số lớn nhất đâu bạn, chỉ có 1 số lớn nhất xuất hiện nhiều lần.
Gán max = phần tử đầu tiên, chạy vòng lập rồi tìm max => Lại chạy vòng lập kiểm tra phần tử nào = max thì xuất vị trí, rồi cho dừng vòng lập (break) sẽ được số lớn nhất nằm ở vị trí đầu tiên rùi đó.

Xuất vị trí là xuất cái biến bạn chạy vòng lập nhé.

1 Like

Gán max là phần tử A[0] đầu mảng, dùng for chạy 1 vòng mảng. Phần tử A[i] nào lớn hơn max thì gán max cho A[i], vị trí đó là i và là phần tử thứ i+1 trong mảng.

2 Likes

#include int main(){ int so_nguyen[]={2,5,7,9,6,3,2,1,1};//khai bao mot mang bat ki. int max=0,vi_tri=0,dem=0; //tim phan tu co gia tri lon nhat trong mang for(int i=0;imax) max=so_nguyen[i]; } //tim vi tri xuat hien lan dau tien cua max va thoat khoi vong lap khi gap max lan dau tien for(int i=0;iÝ tưởng của @Nhanh_Lan_R_ng la chính xác rồi đấy.Đây là code của mình, bạn tham khảo,nếu sai xót j thì fix lại giúp mình.

4 Likes

Vị trí là cái chỉ số i trong mảng đó em. Tìm phần từ max như bình thường và cuối cùng thay vì return A[i]; thì mình return i;

2 Likes

Em cảm ơn mọi người

Xuất ra vị trí của các phần tử có giá trị lớn nhất.

Cái này 5 năm trước mà ://

kệ. trả lời giúp tớ đi. giờ ms bắt đầu học C

Đúng là i+1

Xuất ra vị trí của các phần tử có giá trị lớn nhất.
nhưng 1 for thôi.

if(numbers[i] > max) { max = numbers[i]; vi_tri = i+1; }

2 Likes

Mình không học C, chủ yếu học High-level thôi. Low-level thì ngu hết chỗ nói

Xuất ra vị trí của các phần tử có giá trị lớn nhất.

hay b qua wall mình xem giúp 1 bài mk vừa đăng đc k bạn^^

Ở đây ko phải Facebook bạn

Xuất ra vị trí của các phần tử có giá trị lớn nhất.
nên ko có wall.

1 Like

chạy 2 vòng lặp for để sắp xếp mảng từ lớn đến nhỏ. Phần tử lớn nhất là arr[0]

Cần có 1 số mà xếp làm gì

Xuất ra vị trí của các phần tử có giá trị lớn nhất.

4 Likes

Sort sẽ làm mất vị trí, mà đề lại yêu cầu tìm vị trí cơ mà

Xuất ra vị trí của các phần tử có giá trị lớn nhất.

3 Likes

This topic was automatically closed after 3 days. New replies are no longer allowed.

Home Categories FAQ/Guidelines Terms of Service Privacy Policy

Viết chương trình nhập 1 mảng n số nguyên, tìm giá trị lớn nhất trong mảng và in ra vị trị giá trị lớn nhất đó,
Em tìm được số max và min rồi cơ mà làm thế nào để in ra vị trí của giá trị lớn nhất trong mảng vậy ? Em mới học mảng có 1 ngày

Xuất ra vị trí của các phần tử có giá trị lớn nhất.

int a[100],b[100]; int n,k; float max,min; cout<<"Nhap n so nguyen can nhap ";cin>>n; cout<<"Nhap k=";cin>>k; for(int i=0;i

ngoài biến max bạn còn thêm biến vitrimax vào

if(max < a[i]) { max = a[i]; vitrimax = i; }

3 Likes

Em có thể theo các step sau:

  1. Nhập mảng

  2. Tìm phần tử lớn nhất của mảng

  3. Tìm vị trí của phần tử lớn nhất
    –> Em có thể hiện thực theo code của em hoặc tham khảo code của anh:

    void input_array(int *arr_out, int &arr_size_out); int find_max(int *arr_in, int arr_size_in);

    int find_max_position(int *arr_in, int arr_size_in, int max_in);

    int main(int argc, char *argv[]) { int arr[32]; int arr_size; int max_element;

    int max_pos;

    input_array(arr, arr_size); max_element = find_max(arr, arr_size); max_pos = find_max_position(arr, arr_size, max_element); system("pause"); return 0;

    }

    //input the array void input_array(int *arr_out, int &arr_size_out) { printf(“Enter the array size: “);

    scanf(”%d”, &arr_size_out);

    for(int i = 0; i < arr_size_out; i++) { printf("arr[%d] = ", i); scanf("%d", &arr_out[i]); } return;

    }

    //find max element of array int find_max(int *arr_in, int arr_size_in) { int max;

    int arr_tmp[32];

    memcpy(arr_tmp, arr_in, arr_size_in * sizeof(int)); for(int i = 0; i < arr_size_in - 1; i++) { if(arr_tmp[i] >= arr_tmp[i + 1]) { int tmp = arr_tmp[i]; arr_tmp[i] = arr_tmp[i + 1]; arr_tmp[i + 1] = tmp; max = tmp; } } return max;

    }

    //find position of max element int find_max_position(int *arr_in, int arr_size_in, int max_in) {

    int max_pos;

    for(int i = 0; i < arr_size_in; i++) { if(max_in == arr_in[i]) { max_pos = i; } } return max_pos;

    }

bài toán tìm kiếm và trả về vị trí phần tử lớn nhất trong mảng. mọi người kiểm tra va chỉ chỗ sai e vs ạ

#include #define MAX 100 void nhapmang(int A[],int n) { for(int i=0;iA[0]) A[i]=max; } return max; } int vitriMAX(int A[],int n) { int vitrimax =0; for(int i=1;iA[vitrimax]) i=vitrimax; } return vitrimax; } int main() { int A[MAX]; int n; printf("nhap kich thuoc mang: "); scanf("%d",&n); nhapmang(A,n); printf("cac phan tu co trong mang la:"); xuatmang(A,n); printf("phan tu lon nhat cua mang la %3d va no nam o vi tri %3d",phantuMAX(A,n),vitriMAX(A,n)); return 0; }

int phantuMAX(int A[], int n) { int max = A[0]; for(int i=1;iA[0]) A[i]=max; //Vấn đề ở đây, em đang so sánh giá trị của các phần tử với A[0] chứ k phải max-> if(A[i] > max) gán A[i] cho max } return max; }

Có thể gộp vị trí và phần từ max vào chung một hàm nhé

Xuất ra vị trí của các phần tử có giá trị lớn nhất.

sửa lại mà chương trình vẫn không in ra dòng a ơi !!! help e : printf(“phan tu lon nhat cua mang la %3d va no nam o vi tri %3d”,phantuMAX(A,n),vitriMAX(A,n));

Home Categories FAQ/Guidelines Terms of Service Privacy Policy