01/10/2018, 09:37
Sao chép mảng trong C?
bài toán: Tạo một function copyArray để chép nội dung array này sang một array khác.
code:
#include <stdio.h>
#include "helloc.h"
int main()
{
int i = 0, n = 3;
int mang1[n], mang2[n];
coppy(mang1,mang2,n);
for(i = 0; i < n; i++)
{
printf("%d = %d
",mang1[i],mang2[i]);
}
}
void coppy(int mang1[], int mang2[], int n)
{
int i = 0;
for(i = 0; i < n; i++)
{
printf("nhap vao gia tri trong mang1[%d] = ",i);
scanf("%d",&mang1[i]);
mang1[i] = mang2[i];
}// nhap cac gia tri trong mang1
}
kết quả thật đáng buồn:
nhap vao gia tri trong mang1[0] = 34
nhap vao gia tri trong mang1[1] = 45
nhap vao gia tri trong mang1[2] = 56
0 = 0
0 = 0
15774429 = 15774429
ai biết sao chép mảng trong C chỉ mình với. thank all
Bài liên quan
quả là vi diệu , nhưng mà cái hàm bác làm nó ko trả về giá trị , thì ko có gia trị là đúng r
Viết ngược rồi =) nhập vào mảng 1 mà gán mảng 2 bằng mảng 1 là thế nào.
Với lại phần nhập xuất phải viết riêng.
Em đi theo trình tự 2 bước như thế này là sẽ làm được:
#include <stdio.h>
#include “helloc.h”
void nhapa(int a1[],int n);
int main()
{
int i, n = 3;
int a1[n],a2[n];
nhapa(a1,n);
for(i = 0; i < n; i++)
{
printf(“hien thi a1[%d] = %d\n”,i,a1[i]);
}
for(i = 0; i < n; i++)
{
a2[i] = a1[i];
}
for(i = 0; i < n; i++)
{
printf(“hien thi a2[%d] = %d\n”,i,a2[i]);
}
}
void nhapa(int a1[], int n)
{
int i = 0;
for(i = 0; i < n; i++)
{
printf(“nhap vao a1[%d] = “,i);
scanf(”%d”,&a1[i]);
}
}
em cố gắng làm theo hướng dẫn các bước của anh chỉ và đã được như mong đợi rồi ạ, nhưng nó chỉ đúng ở bài toán thôi còn em muốn trình bày kiểu khác mà sao em cứ trình bày theo kiểu khác là lỗi ạ! buồn ghê á.
kiểu khác của em là như thế nào, em trình bày thử. Ah, trước khi em paste code vào forum, em ctrl+a nó, rồi tab 1 cái là chèn vào sẽ ko bị lỗi như trên.