chào mọi người, em có một bài tập Cho mảng A, B gồm m ≤ 1000 phần tử nguyên |A[i]|, |B[i]| ≤ 100,000. Hãy tìm một vị trí i trên mảng A và một vị trí j trên mảng B sao cho |A[i] + B[j]| là nhỏ nhất.
code của em:
void timvitrisummin(int *a, int *b, int m, int n)
{
int min = a[0] + b[0];
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
if (a[i] + b[j] < min)
{
min = a[i] + b[j];
}
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
if (a[i] + b[j] ==min)
{
printf("i=%d, j=%d", i+1, j+1);
}
}
}
ban đâu em để chỗ a[] và b[] ko có dấu * thì nó báo lỗi “Subscript requires array or pointer type.” nên em mới thêm * vào thì ctrinh lại chạy đc. Mn cho e hỏi tại sao ạ? Em cũng có nghe qua về con trỏ nhưng chưa học tới mong mn giúp đỡ.
vì con trỏ còn dùng để truyền tham biến.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?