30/09/2018, 16:22
[Giải bài tập] Nhập dãy số nguyên lọc những số chia hết cho 3 sang mảng khác
Nhập dãy số nguyên lọc những số chia hết cho 3 sang mảng khác
#include<stdio.h>
#include<conio.h>
//verson 1.0 mang tinh
typedef int Mang[100];
void nhap(int &n,Mang &A)
{
printf("
Nhap so phan tu : ");
scanf("%d",&n);
for(int i=1; i<=n; ++i)
{
printf("A[%d] = ",i);
scanf("%d",&A[i]);
}
}
void xuat(int n,Mang A,char *tb)
{
printf("
%s
",tb);
for(int i=1; i<=n; ++i)
printf("%d ",A[i]);
}
void Loc_k(int n,Mang A,int &m,Mang &B,int k=3)
{
m=0;
for(int i=1; i<=n; i++)
if(A[i]%k==0) B[++m]=A[i];
}
int main()
{
int n,m,k;
Mang A,B,C;
nhap(n,A);
xuat(n,A,"Day la day ban dau");
Loc_k(n,A,m,B);
xuat(m,B,"Nhung so chia het cho 3 trong A");
Loc_k(n,A,k,C,7);
xuat(k,C,"Nhung so chia het cho 7 trong A");
getch();
}
#include<stdio.h>
#include<conio.h>
//verson 2.0 mang cap phat dong
typedef int *Mang;
void nhap(int &n,Mang &A)
{
printf("
Nhap so phan tu : ");
scanf("%d",&n);
A=new int [n+1];
for(int i=1; i<=n; ++i)
{
printf("A[%d] = ",i);
scanf("%d",&A[i]);
}
}
void xuat(int n,Mang A,char *tb)
{
printf("
%s
",tb);
for(int i=1; i<=n; ++i)
printf("%d ",A[i]);
}
void Loc_k(int n,Mang A,int &m,Mang &B,int k=3)
{
m=0;
B=new int [n+1];
for(int i=1; i<=n; i++)
if(A[i]%k==0) B[++m]=A[i];
}
int main()
{
int n,m,k;
Mang A,B,C;
nhap(n,A);
xuat(n,A,"Day la day ban dau");
Loc_k(n,A,m,B);
xuat(m,B,"Nhung so chia het cho 3 trong A");
Loc_k(n,A,k,C,7);
xuat(k,C,"Nhung so chia het cho 7 trong A");
getch();
}
#include<stdio.h>
#include<conio.h>
#include<windows.h>
//verson 3.0 lam viec voi file
typedef int *Mang;
void nhap(int &n,Mang &A)
{
printf("
Nhap so phan tu : ");
scanf("%d",&n);
A=new int [n+1];
for(int i=1; i<=n; ++i)
{
printf("A[%d] = ",i);
scanf("%d",&A[i]);
}
}
void nhap_file(int &n,Mang &A,FILE *f)
{
fscanf(f,"%d",&n);
A=new int [n+1];
for(int i=1; i<=n; ++i)
{
fscanf(f,"%d",&A[i]);
}
}
void xuat(int n,Mang A,FILE*f)
{
fprintf(f,"
%d
",n);
for(int i=1; i<=n; ++i)
fprintf(f,"%d ",A[i]);
}
void Loc_k(int n,Mang A,int &m,Mang &B,int k=3)
{
m=0;
B=new int [n+1];
for(int i=1; i<=n; i++)
if(A[i]%k==0) B[++m]=A[i];
}
int menu()
{
int chon;
system("cls");
printf("
1. Nhap tu ban phim:");
printf("
2. Nhap tu file van ban:");
printf("
3. Xuat man hinh:");
printf("
4. Xuat ra file van ban:");
printf("
5. Loc nhung so chia het 3 xuat mh");
printf("
6. Loc nhung so chia het 2 xuat file");
printf("
7. Thoat");
printf("
Moi ban chon mon :");
scanf("%d",&chon);
if(1<=chon && chon <=7) return chon;
return menu();
}
int main()
{
int n,m,k,chon;
char tenfile[100];
FILE *f;
Mang A,B,C;
do
{
chon=menu();
switch(chon)
{
case 1 :
nhap(n,A);
break;
case 2 :
printf("
Nhap ten file : ");
fflush(stdin);
gets(tenfile);
f=fopen(tenfile,"rt");
if(f==NULL) printf("
loi mo file");
else
{
nhap_file(n,A,f);
fclose(f);
}
break;
case 3 :
xuat(n,A,stdout);
break;
case 4 :
printf("
Nhap ten file : ");
fflush(stdin);
gets(tenfile);
f=fopen(tenfile,"wt");
if(f==NULL) printf("
loi mo file");
else
{
xuat(n,A,f);
fclose(f);
}
break;
case 5 :
Loc_k(n,A,m,B);
xuat(m,B,stdout);
break;
case 6 :
printf("
Nhap ten file : ");
fflush(stdin);
gets(tenfile);
f=fopen(tenfile,"wt");
if(f==NULL) printf("
loi mo file");
else
{
Loc_k(n,A,k,C,2);
xuat(k,C,f);
fclose(f);
}
break;
case 7 :
return 1;
}
getch();
}
while(1);
}
Nguồn : Lập Trình C
Bài liên quan