Function chép array này sang array khác bị sai

Tạo một function copyArray để chép nội dung array này sang một array khác. Cho em hỏi bị sai chỗ nào ạ

#include <iostream>
#include <stdio.h>
using namespace std;
void coppyArray(int array1[], int array2[], int kichThuocMang);
int main()
{
    int n,a[n],b[n];
    printf("Nhap kich thuoc mang: ");
    scanf("%d",&n);
    for(int i =0;i<n;i++){
        printf("Nhap Gia Tri cua Mang Thu %d: \t",i+1);
        scanf("%d",a[i]);
    }
    coppyArray(a,b,n);
}
void coppyArray(int array1[], int array2[], int kichThuocMang){
    for(int i=0;i,kichThuocMang;i++){
        array1[i]=array2[i];
        printf("%d = %d",array1[i],array2[i]);
    }
}

Thay thế dòng này

array1[i]=array2[i];

thành dòng này

array2[i]=array1[i];

lí do sai của bạn nè :

Bạn trượt tay phím Shift phải hem :sunglasses: ?

Như bạn ở trên, bạn đang copy những cái của array1 sang array2 nên phải dùng

array2[i]=array1[i];

p/s: bạn nên đặt tên hàm là copyArray vì coppy không phải là sao chép :stuck_out_tongue:

3 Likes
int n,a[n],b[n]; // <---
printf("Nhap kich thuoc mang: ");
scanf("%d",&n);

Điều này không sai, nhưng thật sự không ổn.
Nên tạo ab sau khi nhập n.

2 Likes

Sai trầm trọng ấy chứ nhỉ.

3 Likes

^^ dạ em cảm ơn anh. em sai lỗi cơ bản qua :((

dạ vâng em cảm ơn em sẽ rút kinh nghiệm ^^

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?