Tải bản đầy đủ (.doc) (17 trang)

bài tập kiểm tra ôn thi cao học môn kỹ thuật lập trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (82.12 KB, 17 trang )

//Bai 1 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)
{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void DFS(int u){
int v;
fprintf(f,"%3d",u);
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);


}
void main(void){
int i;
clrscr();
ReadData();
f=fopen("ketqua.out","w");
for (i=1;i<=n;i++)
if (chuaxet[i]) DFS(i);
fclose(f);
printf("Da xong");
getch();
}
//Bai 2 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],solt=0,trace[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("F:\dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){

int v;
fprintf(f,"%3d",u);
chuaxet[u]=0;
trace[u]=solt;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
void WriteData(void){
int i,j;
f=fopen("F:\ketqua.out","w");
fprintf(f,"%d",solt);
for (i=1;i<=solt;i++){
fprintf(f,"%s","\n");
for (j=1;j<=n;j++)
if (trace[j]==i) fprintf(f,"%3d",j);
}
fclose (f);
}
void main(void){
int i;
clrscr();
ReadData();
for (i=1;i<=n;i++)
if (chuaxet[i]) { solt++; DFS(i);}
WriteData();
printf("Da xong");
getch();
}
//Bai 3 ( Phan test Do thi)
#include <stdio.h>

#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],s,t,truoc[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("F:\dothi3.in","r");
fscanf(f,"%d%d%d",&n,&s,&t);
for (i=1;i<=n;i++) {chuaxet[i]=1;truoc[i]=0;}
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
//fprintf(f,"%3d",u);
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) {truoc[v]=u;DFS(v);}
}
void WriteData(void){
int i,j;
f=fopen("F:\ketqua3.out","w");
if (truoc[t]==0) fprintf(f,"%s","Do thi khong lien thong");
else {
fprintf(f,"%3d",t);i=t;
while (truoc[i])
{fprintf(f,"%3d",truoc[i]);i=truoc[i];}

}
fclose (f);
}
void main(void){
clrscr();
ReadData();
DFS(s);
WriteData();
printf("Da xong");
getch();
}
//Bai 4 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct DSCanh {
int Dau;
int Cuoi;};
int a[20][20],n,chuaxet[20],m,Socanh=0;
DSCanh canh[50],cay[50];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d%d",&n,&m);
for (i=1;i<=n;i++) {chuaxet[i]=1;
for (j=1;j<=n;j++) a[i][j]=0;}
for (i=1;i<=m;i++) fscanf(f,"%d%d",&canh[i].Dau,&canh[i].Cuoi);
fclose(f);

for (i=1;i<=m;i++)
{a[canh[i].Dau][canh[i].Cuoi]=1;a[canh[i].Cuoi][canh[i].Dau]=1;
}
}
void Cay_khung(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v])
{Socanh++;cay[Socanh].Dau=u;cay[Socanh].Cuoi=v;Cay_khung(v);}
}
void WriteData(void){
int i;
f=fopen("ketqua.out","w");
if (Socanh!=n-1) fprintf(f,"%s","Do thi khong lien thong");
else {fprintf(f,"%3d%3d",n,Socanh);
for (i=1;i<=Socanh;i++)
fprintf(f,"%s%3d%3d","\n",cay[i].Dau,cay[i].Cuoi);}
fclose (f);
}
void main(void){
clrscr();
ReadData();
Cay_khung(1);
WriteData();
printf("Da xong");
getch();
}
//Bai 5 ( Phan test Do thi)
#include <stdio.h>

#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],Sodinh=0,Solt=0,Soltcau;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
int CanhCau(int i){
int j;
for (j=1;j<=n;j++) chuaxet[j]=1;
chuaxet[i]=0;
Soltcau=0;
for (j=1;j<=n;j++)
if (chuaxet[j]) {Soltcau++;DFS(j);}
if (Soltcau>Solt) return(1);
return(0);
}

void main(void){
int i;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;DFS(i);}
f=fopen("ketqua.out","w");
fprintf(f,"\n");
for (i=1;i<=n;i++)
if (CanhCau(i)) {Sodinh++;fprintf(f,"\n%3d",i);}
rewind(f);
fprintf(f,"%d",Sodinh);
printf("Da xong");
getch();
}
//Bai 6 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],b[20][20],n,chuaxet[20],Socanh=0,Solt=0,Soltcanh;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&b[i][j]);
}

fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
int CanhCau(int i,int j){
int u,v;
for (u=1;u<=n;u++) chuaxet[u]=1;
for (u=1;u<=n;u++)
for (v=1;v<=n;v++) a[u][v]=b[u][v];
a[i][j]=0;a[j][i]=0;
Soltcanh=0;
for (u=1;u<=n;u++)
if (chuaxet[u]) {Soltcanh++;DFS(u);}
if (Soltcanh>Solt) return(1);
return(0);
}
void main(void){
int i,j;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++) a[i][j]=b[i][j];
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;DFS(i);}
f=fopen("ketqua.out","w");

fprintf(f,"\n");
for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
if (b[i][j])
if (CanhCau(i,j)) {Socanh++;fprintf(f,"\n%3d%3d",i,j);}
rewind(f);
fprintf(f,"%d",Socanh);
printf("Da xong");
getch();
}
//Bai 7 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],q[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)

{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
fprintf(f,"%3d",v);
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
void main(void){
int i;
clrscr();
ReadData();
f=fopen("ketqua.out","w");
for (i=1;i<=n;i++)
if (chuaxet[i]) BFS(i);
fclose(f);
printf("Da xong");
getch();
}
//Bai 8 ( Phan test Do thi)

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],q[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)
{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];

fprintf(f,"%3d",v);
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
void main(void){
int i;
clrscr();
ReadData();
f=fopen("ketqua.out","w");
for (i=1;i<=n;i++)
if (chuaxet[i]) BFS(i);
fclose(f);
printf("Da xong");
getch();
}
//Bai 9 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],s,t,truoc[20],q[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d%d%d",&n,&s,&t);
for (i=1;i<=n;i++) {chuaxet[i]=1;truoc[i]=0;}

for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
fprintf(f,"%3d",v);
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;truoc[s]=v;chuaxet[s]=0;}
}
}
void WriteData(void){
int i,j;
f=fopen("ketqua.out","w");
if (truoc[t]==0) fprintf(f,"%s","Do thi khong lien thong");
else { fprintf(f,"%3d",t);i=t;
while (truoc[i])
{fprintf(f,"%3d",truoc[i]);i=truoc[i];}
}
fclose (f);
}
void main(void){
clrscr();

ReadData();
BFS(s);
WriteData();
printf("Da xong");
getch();
}
//Bai 10 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],Sodinh=0,Solt=0,Soltcau,q[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
dau++;
for (s=1;s<=n;s++)

if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
int DinhCau(int i){
int j;
for (j=1;j<=n;j++) chuaxet[j]=1;
chuaxet[i]=0;
Soltcau=0;
for (j=1;j<=n;j++)
if (chuaxet[j]) {Soltcau++;BFS(j);}
if (Soltcau>Solt) return(1);
return(0);
}
void main(void){
int i;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;
BFS(i);}
f=fopen("ketqua.out","w");
fprintf(f,"\n");
for (i=1;i<=n;i++)
if (DinhCau(i)) {Sodinh++;fprintf(f,"\n%3d",i);}
rewind(f);
fprintf(f,"%d",Sodinh);
printf("Da xong");
getch();

}
//Bai 11 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],b[20][20],n,chuaxet[20],Socanh=0, Solt=0,Soltcanh,q[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n;j++) fscanf(f,"%d",&b[i][j]);
}
fclose(f);
}
void BFS(int u){
int s,v,dau,cuoi;
chuaxet[u]=0;
dau=1;cuoi=1;q[dau]=u;
while (dau<=cuoi){
v=q[dau];
dau++;
for (s=1;s<=n;s++)
if (a[v][s] && chuaxet[s])
{q[++cuoi]=s;chuaxet[s]=0;}
}
}
int CanhCau(int i,int j){

int u,v;
for (u=1;u<=n;u++) chuaxet[u]=1;
for (u=1;u<=n;u++)
for (v=1;v<=n;v++) a[u][v]=b[u][v];
a[i][j]=0;a[j][i]=0;
Soltcanh=0;
for (u=1;u<=n;u++)
if (chuaxet[u]) {Soltcanh++;BFS(u);}
if (Soltcanh>Solt) return(1);
return(0);
}
void main(void){
int i,j;
clrscr();
ReadData();
for (i=1;i<=n;i++) chuaxet[i]=1;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++) a[i][j]=b[i][j];
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;BFS(i);}
f=fopen("ketqua.out","w");
fprintf(f,"\n");
for (i=1;i<=n-1;i++)
for (j=i+1;j<=n;j++)
if (b[i][j])
if (CanhCau(i,j)) {Socanh++;fprintf(f,"\n%3d%3d",i,j);}
rewind(f);
fprintf(f,"%d",Socanh);
printf("Da xong");
getch();

}
//Bai 12 ( Phan test Do thi)
//Bai 13 ( Phan test Do thi)
//Bai 14 ( Phan test Do thi)
//Bai 15 ( Phan test Do thi)
//Bai 16 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],d[20],truoc[20],bd,kt;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d%d%d",&n,&bd,&kt);
for (i=1;i<=n;i++){
chuaxet[i]=1;
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void Duong_di(int s){
int i,ok=1,min,vt;
d[s]=0;chuaxet[s]=0;
for (i=1;i<=n;i++)
if (chuaxet[i]) {d[i]=a[s][i];truoc[i]=s;}
while(ok){
min=32000;vt=-1;
for (i=1;i<=n;i++)

if (chuaxet[i])
if (d[i]<min && d[i]) {min=d[i];vt=i;}
if (vt==-1) ok=0;
else { chuaxet[vt]=0;
for (i=1;i<=n;i++)
if (chuaxet[i] && a[vt][i]!=0)
if (d[i]>d[vt]+a[vt][i] || d[i]==0)
{d[i]=d[vt]+a[vt][i];truoc[i]=vt;}
}
}
}
void WriteData(void){
int i,dd[20],dem;
if (d[kt]==0) {printf("Khong co duong di tu %d den %d",bd,kt);return;}
i=kt;dem=1;dd[1]=i;
while (truoc[i]!=bd)
{dem++;dd[dem]=truoc[i];i=truoc[i];}
printf("Duong di tu %d den %d:\n%d",bd,kt,bd);
for (i=dem;i>=1;i ) printf(" >%d",dd[i]);
}
void main(void){
int i,j;
clrscr();
ReadData();
Duong_di(bd);
WriteData();
getch();
}
//Bai 17 ( Phan test Do thi)
#include <stdio.h>

#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
chuaxet[i]=1;
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (chuaxet[v] && a[u][v]) DFS(v);
}
int Lienthong(void){
int i;
DFS(1);
for (i=1;i<=n;i++)
if (chuaxet[i]) return(0);
return(1);
}
int Kt_Euler(void){
int i,s,j;

for (i=1;i<=n;i++) {
s=0;
for (j=1;j<=n;j++) s=s+a[i][j];
if (s%2==1) return(0);}
return(1);
}
void Chutrinh(int u){
int S[50],i,j,top,CE[50],dem=0,v;
top=1;
S[top]=u;
while (top>0){
v=S[top];
i=0;
for (j=1;j<=n;j++)
if (a[v][j]) {i=j;break;}
if (i>0){top=top+1;S[top]=i;a[v][i]=0;a[i][v]=0;}
else {top ;dem++;CE[dem]=v;}
}
for (i=dem;i>1;i ) printf("%d >",CE[i]);
printf("%d",CE[1]);
}
void main(void){
int i,j;
clrscr();
ReadData();
if (Lienthong()==0) printf("Do thi khong lien thong");
else if (Kt_Euler()==0) printf("Do thi lien thong nhung khong co chu trinh");
else Chutrinh(3);
getch();
}

//Bai 18 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j;
f=fopen("dothi.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
chuaxet[i]=1;
for (j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
fclose(f);
}
void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (chuaxet[v] && a[u][v]) DFS(v);
}
int Lienthong(void){
int i;
DFS(1);
for (i=1;i<=n;i++)
if (chuaxet[i]) return(0);
return(1);
}

int Kt_1_2_Euler(void){
int i,s,j,dem=0;
for (i=1;i<=n;i++) {
s=0;
for (j=1;j<=n;j++) s=s+a[i][j];
if (s%2==1) dem++;}
if (dem==2) return(1);
return(0);
}
void Duongdi(int u){
int S[50],i,j,top,CE[50],dem=0,v;
top=1;
S[top]=u;
while (top>0){
v=S[top];
i=0;
for (j=1;j<=n;j++)
if (a[v][j]) {i=j;break;}
if (i>0){top=top+1;S[top]=i;a[v][i]=0;a[i][v]=0;}
else {top ;dem++;CE[dem]=v;}
}
for (i=dem;i>1;i ) printf("%d >",CE[i]);
printf("%d",CE[1]);
}
void main(void){
int i,j;
clrscr();
ReadData();
if (Lienthong()==0) printf("Do thi khong lien thong");
else if (Kt_1_2_Euler()==0) printf("Do thi lien thong nhung khong co duong di");

else Duongdi(1);
getch();
}
//Bai 19 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20];
FILE *f;
void ReadData(void){
int i,j,k=0;char *s,*s1;
f=fopen("dothi.in","r");
fgets(s,255,f);
n=atoi(s);
for (i=1;i<=n;i++) {
for (j=1;j<=n;j++) a[i][j]=0;
chuaxet[i]=1;}
for (i=1;i<=n;i++){
fgets(s,255,f);
for (j=0;j<=strlen(s);j++)
if (s[j]==' ' || s[j]=='\n' || s[j]=='\t' || s[j]=='\r' || s[j]=='\0')
{if (k>0)
{s1[k]='\0';k=0;a[i][atoi(s1)]=1;}}
else s1[k++]=s[j];
}
fclose(f);
}
void DFS(int u){
int v;

chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
int Kt_Lienthong(void){
int i;
DFS(1);
for (i=1;i<=n;i++)
if (chuaxet[i]) return(0);
return(1);
}
int So_dinh_le(void){
int i,j,s,Dinhle=0;
for (i=1;i<=n;i++){
s=0;
for (j=1;j<=n;j++) s=s+a[i][j];
if (s%2==1) Dinhle++;
}
return(Dinhle);
}
void main(void){
int i;
clrscr();
ReadData();
if (Kt_Lienthong()==0) printf("Do thi khong lien thong");
else { i=So_dinh_le();
switch (i){
case 0: {printf("Do thi la Euler");break;}
case 2: {printf("Do thi la nua Euler");break;}
default:printf("Do thi khong la Euler/nua Euler");

}
}
getch();
}
//Bai 20 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <io.h>
int n,B;
int a[100],x[100],c[100],luu[100],Kyluc=0,Ok=1;
FILE *f;
void Writedata(void) {
int i,ok=0;
f=fopen("Output.txt","w");
for (i=1;i<=n;i++)
if (luu[i]==1) {ok=1;break;}
if (ok) { fprintf(f,"%d\n",Kyluc);
for (i=1;i<=n;i++) fprintf(f,"%3d",luu[i]);}
else fprintf(f,"Khong co phuong an thoa man");
fclose(f);
}
void Sinh_xau(void){
int i,j;
i=n;
while (x[i]==1) {x[i]=0;i ;}
if (i>0)
{x[i]=1;
for (j=i+1;j<=n;j++) x[j]=0;}

else Ok=0;
}
void Readdata(void){
int i;
f=fopen("Input.txt","r");
if (f==NULL)
{printf("Khong co file du lieu dau vao");return;}
fscanf(f,"%d",&n);
fscanf(f,"%d",&B);
for (i=1;i<=n;i++) fscanf(f,"%d",&c[i]);
for (i=1;i<=n;i++) fscanf(f,"%d",&a[i]);
fclose(f);
}
void Luu_ky_luc(int s){
int i;
Kyluc=s;
for (i=1;i<=n;i++) luu[i]=x[i];
}
void Duyet(void){
int i,S;
for (i=1;i<=n;i++) x[i]=0;
for (i=1;i<=n;i++) luu[i]=0;
while (Ok) {
S=0;
for (i=1;i<=n;i++) S=S+a[i]*x[i];
if (S<=B) {
S=0;
for (i=1;i<=n;i++) S=S+c[i]*x[i];
if (S>Kyluc) Luu_ky_luc(S);
}

Sinh_xau();
}
}
void main(void) {
int i;
clrscr();
Readdata();
Duyet();
Writedata();
printf("Da xong.Ket qua ra trong file Output.txt");
getch();
}
//Bai 21 ( Phan test Do thi)
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int a[20][20],n,chuaxet[20],Socanh=0,Solt=0,d[20],dem=0;
FILE *f;
void ReadData(void){
int i,j;
f=fopen("vohuong.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){ chuaxet[i]=1;
for (j=1;j<=n;j++) {fscanf(f,"%d",&a[i][j]);
if (a[i][j]==1) Socanh++; }
}
fclose(f);
Socanh=Socanh/2;
}

void DFS(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (a[u][v]==1 && chuaxet[v]) DFS(v);
}
void Khoitaolai(void){
for (int i=1;i<=n;i++) chuaxet[i]=1;
}
int CanhCau(void){
int u,v,k,s;
for (u=1;u<=n;u++)
for (v=1;v<=n;v++)
if (a[u][v]){
Khoitaolai();
a[u][v]=0;a[v][u]=0;
k=0;
for (s=1;s<=n;s++)
if (chuaxet[s]) {k++;DFS(s);}
if (k>Solt) return(1);
a[u][v]=1;a[v][u]=1;
}
return(0);
}
void Dinhchieu(int u){
int v;
chuaxet[u]=0;
for (v=1;v<=n;v++)
if (chuaxet[v] && a[u][v])
{fprintf(f,"\n%d%5d",u,v);a[u][v]=0;a[v][u]=0;Dinhchieu(v);}

}
void WriteData(void){
int i,j;
f=fopen("Ketqua.out","w");
if (CanhCau()>0) {fprintf(f,"Vo nghiem");}
else { Khoitaolai();
fprintf(f,"%d",Socanh);
Dinhchieu(1);
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
if (a[i][j]) fprintf(f,"\n%d%5d",j,i);
}
fclose(f);
}
void main(void){
int i,j;
clrscr();
ReadData();
for (i=1;i<=n;i++)
if (chuaxet[i]) {Solt++;DFS(i);}
WriteData();
printf("Da xong");
getch();
}
//xu ly van ban
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <io.h>

#include <string.h>
struct Tu
{ int Solan;
char Xau[30];};
Tu Tudien[1000];
int n;
FILE *f;
int Tim_tu(char *S){
int i;
for (i=1;i<=n;i++)
if (strcmp(S,Tudien[i].Xau)==0) return(i);
return(n+1);
}
void Readdata(void){
int i;char *s;
f=fopen("Input.txt","r");
if (f==NULL)
{printf("Khong co file du lieu dau vao");return;}
while (!feof(f)){
fscanf(f,"%s",s);
i=Tim_tu(s);
if (i>n) {n++;strcpy(Tudien[i].Xau,s);Tudien[i].Solan=1;}
else Tudien[i].Solan++;
}
fclose(f);
}
void Writedata(void){
int i;
f=fopen("Output.txt","w");
fprintf(f,"%d\n",n);

for (i=1;i<=n;i++) fprintf(f,"%s %d\n",Tudien[i].Xau,Tudien[i].Solan);
fclose(f);
}
void main(void) {
int i;
clrscr();
n=0;
Readdata();
Writedata();
printf("Da xong.Ket qua ra trong file Output.txt");
getch();
}
//Giao hai van ban
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <io.h>
#include <string.h>
struct Tu
{ int Solan;
char Xau[30];};
Tu Tudien[1000];
int n;
FILE *f;
int Tim_tu(char *S){
int i;
for (i=1;i<=n;i++)
if (strcmp(S,Tudien[i].Xau)==0) return(i);
return(n+1);

}
void Readdata(void){
int i;char *s;
f=fopen("Input.txt","r");
if (f==NULL)
{printf("Khong co file du lieu dau vao");return;}
while (!feof(f)){
fscanf(f,"%s",s);
i=Tim_tu(s);
if (i>n) {n++;strcpy(Tudien[i].Xau,s);Tudien[i].Solan=1;}
else Tudien[i].Solan++;
}
fclose(f);
}
void Writedata(void){
int i;
f=fopen("Output.txt","w");
fprintf(f,"%d\n",n);
for (i=1;i<=n;i++) fprintf(f,"%s %d\n",Tudien[i].Xau,Tudien[i].Solan);
fclose(f);
}
void main(void) {
int i;
clrscr();
n=0;
Readdata();
Writedata();
printf("Da xong.Ket qua ra trong file Output.txt");
getch();
}

×