01/10/2018, 09:54

Hỏi về bài toán mảng trong C

mình mới học C đang học tới bài mảng thì gặp 1 bài toán như này:
Viết một function maximumArray có nhiệm vụ so sánh tất cả các giá trị chứa bên trong array với
giaTriMax. Nếu có giá trị lớn hơn biến số giaTriMax đưa vào, nó sẽ chuyển thành 0.
Prototype:
C code:

void maximumArray (int array[ ], int kichThuoc, int giaTriMax);

VD: array {1,5,7,8,5,2,3} và max=5, sẽ chuyển thành {1,5,0,0,5,2,3}.

và đây là code của mình:
C code:

#include <stdio.h>
#include <stdlib.h>



void maximumArray(int array[], int KichThuoc, int GiaTriMax);
int main(int argc, char* argv[])
{
    int array[] = {};
    int KichThuoc = 5, GiaTriMax = 5, i;

    for(i = 0; i < KichThuoc; i++)
    {
        printf("
Nhap vao array[%d] = ",i);
        scanf("%d",&array[i]);
    }
   
    maximumArray(array, KichThuoc, GiaTriMax);
}



void maximumArray(int array[], int KichThuoc, int GiaTriMax)
{
    int i;
    
    for(i = 0; i < KichThuoc; i++)
    {
        if(array[i] >= GiaTriMax)
        {
            array[i] = 0;
        }
        else
        {
            printf("
array[%d] = %d
",i,array[i]);
        }
    }
}

khi mình chạy code thì những phần tử mảng >= biến GiaTriMax không hiện ra, ai giúp mình giải thích lỗi đó được không? làm sao để nó hiện ra = 0 vậy? thank all.

HK boy viết 12:09 ngày 01/10/2018

Hàm printf để print a[i] bạn đưa ra ngoài else nhé.

X viết 12:07 ngày 01/10/2018

cảm ơn bạn nhé mình làm được rồi, mình bỏ hẳm else đi rồi

Bài liên quan
0