-
20-07-2016, 11:55 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mọi người xem giúp em sai chỗ nào với em ngồi hoài hok ra TT
Đề cho tập tin văn bản number5.in, dòng đầu tiên chứa hai số nguyên dương m và n (m, n 50), dòng thứ 2 và thứ 3 lần lượt chứa m và n số nguyên dương được phân cách nhau bằng 1 hay nhiều khoảng trắng. Hãy định nghĩa các hàm để thực hiện các công việc sau và viết chương trình áp dụng:
a) Đọc n và m giá trị vào hai mảng số nguyên A và B
b) Liệt kê các phần tử là hội của hai mảng
c) Liệt kê các phần tử là giao của hai mảng
d) Liệt kê các phần tử có trong mảng A nhưng không có trong mảng B và ngược lại.
e) Ghi tất cả kết quả thực hiện được vào tập tin number5.out .
*Chỉ được sài lệnh của C.
#########
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void cauABE(int a[],int b[],int m, int n)
{
int i,j;
FILE *f;
f=fopen("number5.in.txt","r+");
FILE *g;
g=fopen("number5.out.txt","w+");
fscanf(f,"%d",&n);
printf("so phan tu mang A %d
",n);
fscanf(f,"%d",&m);
printf("so phan tu mang B %d
",m);
for (i=0;i<n;i++)
fscanf(f,"%d",&a[i]);
for (j=0;j<m;j++)
fscanf(f,"%d",&b[j]);
for (i=0;i<n;i++)
printf("Hoi cua 2 mang : %d ",a[i]);
for (j=0;j<m;j++)
printf("%d ",b[j]);
for (i=0;i<n;i++)
fprintf(g,"%d ",a[i]);
fclose(f);
fclose(g);
}
int KiemTra (int a[],int m, int x)
{
int i;
for(i=0; i<m; i++)
if(a[i] == x)
return 1;
return 0;
}
void cauc(int a[],int b[], int m,int n)
{
int i=0;
printf("Giao cua 2 mang : ");
for(i=0;i<n;i++)
{
if(KiemTra(a,m,b[i])==1)
printf("%d",b[i]);
}
}
void Caud (int a[], int b[], int m, int n)
{
int i;
printf("Cac phan tu co trong b ma khong co trong a: ");
for( i=0; i<n; i++)
{
if(KiemTra(a,m,b[i])==0)
printf("%d",b[i]);
}
printf("
Cac phan tu co trong a ma khong co trong b: ");
for( i=0; i<n; i++)
{
if(KiemTra(a,m,b[i])==0)
printf("%d",a[i]);
}
}
int main(int argc, char *argv[])
{
int a[50],b[50];
int n=0,m=0;
int i,j;
cauABE(a,b,m,n);
printf("
");
cauc(a,b,m,n);
printf("
");
Caud(a,b,m,n);
return 0;
}
Em làm câu a,b thì chạy ra kết quả nhưng c,d thì nó chỉ xuất câu văn còn phần yêu cầu của đề nó hông xuất T_T. Help!!!!View more random threads:
-
21-07-2016, 05:33 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Vì các tham số m, n nạp vào cauC() và Caud() luôn luôn là 0 cho nên các vòng lặp trong hai hàm này khong bao giờ thực hiện cả.
Tự tìm hiểu tại sao m, n luôn là 0. Tìm không ra thì hỏi tiếp (nhưng lúc hỏi tránh dùng các từ Hi, Dear, thanks, help... tôi không hiểu là khen hay chửi mình)
-
21-07-2016, 06:08 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
bạn chọn 1 trong 2:
1. Cách sửa nhanh cho bạn. (không khuyến khích cách này)
Xóa các tham số m, n trong khai báo hàm đi. Đưa m, n lên làm biến toàn cục.
2. Ở KiemTra, câu c, d. Thay đối tham số m, n là con trỏ. (int *m, int *n)
-
22-07-2016, 08:41 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cảm ơn bạn, nhưng mình vẫn không hiểu về vấn đề con trỏ T_T. Tại trong lớp phần này mình hok học, bạn có thể viết phần này giúp mình được không ?
- - - Nội dung đã được cập nhật ngày 22-07-2016 lúc 01:41 PM - - -
Gửi bởi NguNhuheo
-
22-07-2016, 09:20 AM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi lifeabeat62
Để lấy tham số ra (gán và sử dụng) thì dùng toán tử 1 ngôi *<con trỏ>. Truyền tham số thì dùng toán tử & .
-
22-07-2016, 01:00 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi prog10
- - - Nội dung đã được cập nhật ngày 22-07-2016 lúc 06:00 PM - - -
Plz someone help me ((
-
22-07-2016, 01:39 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Nhét như thế nào (nhét nó vào hàm void ABE trên phần đầu), tìm một nơi rồi hỏi nơi khác thì quá khó. Tôi viết sau vài năm đọc lại, chính tôi còn mù tịt nữa là người khác.
Sưu liệu và công việc quan trọng cần cho việc nâng cấp hay sửa chương trình; một dạng sưu liệu đơn giản là comment trong code, nó còn có thể xuất ra XML hay nhúng vào dll / exe sau khi biên dịch (c# / java hay delphi).
-
22-07-2016, 01:51 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi CoViet-Plus005
-
22-07-2016, 01:59 PM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Code bạn viết :
Mã:#include<stdio.h>#include<stdlib.h>#include<conio.h> void GIAO(int a[],int b[], int n,int m);void cauABE(int a[],int b[],int m, int n){ int i,j; int *c,*d; c=&m; d=&n; FILE *f; f=fopen("number5.in.txt","r+");FILE *g; g=fopen("number5.out.txt","w+"); fscanf(f,"%d",&n); printf("so phan tu mang A %d ",n); fscanf(f,"%d",&m); printf("so phan tu mang B %d ",m); for (i=0;i<n;i++) fscanf(f,"%d",&a[i]); for (j=0;j<m;j++) fscanf(f,"%d",&b[j]); for (i=0;i<n;i++) printf("Hoi cua 2 mang : %d ",a[i]); for (j=0;j<m;j++) printf("%d ",b[j]); for (i=0;i<n;i++) fprintf(g,"%d ",a[i]); fclose(g); fclose(f); } int KiemTra (int a[],int m, int x){ int i; for(i=0; i<m;i++) if(a[i] == x) return 1; else return 0;} void cauc(int a[],int b[], int m,int n) { int i=0; printf("Giao cua 2 mang : "); for(i=0;i<n;i++) { if(KiemTra(a,m,b[i])==1) printf("%d",b[i]); }} void Caud (int a[], int b[], int m, int n){ int i; printf("Cac phan tu co trong b ma khong co trong a: "); for( i=0; i<n; i++) { if(KiemTra(a,m,b[i])==0) printf("%d ",b[i]); } printf(" Cac phan tu co trong a ma khong co trong b: "); for( i=0; i<n; i++) { if(KiemTra(a,m,b[i])==0) printf("%d ",a[i]); }} int main(int argc, char *argv[]){ int a[50],b[50]; int i,j; int m=0,n=0; cauABE(a,b,m,n); printf(" "); cauc(a,b,m,n); printf(" "); Caud(a,b,m,n); return 0;}
-
22-07-2016, 02:06 PM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi CoViet-Plus005
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...