C/C++ sources 9-10
C/C++ sources 9-10
sâmbătă, 8 septembrie 2018
Combinari n,k - programare dinamica
# include <conio.h>;
# include <iostream.h>;
# define MAX 50
int a,b;
int c[MAX][MAX];
int i,j;
int comb(int n,int k)
{
if(c[n][k]>=1) return c[n][k];
else
{
c[n][k]=comb(n-1,k)+comb(n-1,k-1);
c[n][n-k]=c[n][k];
return c[n][k];
}
}
void main(void)
{
clrscr();
cout<<"Intr n,k :\n";
cin>>a>>b;
for(i=0;i<a;i++)
for(j=0;j<b;j++)
c[i][j]=-1;
for(i=0;i<a;i++)
{
c[i][0]=1;
c[i][i]=1;
if(i>=1)
{
c[i][1]=i;
c[i][i-1]=i;
}
}
cout<<"\ncomb("<<a<<","<<b<<")= "<<comb(a,b);
getche();
}
# include <iostream.h>;
# define MAX 50
int a,b;
int c[MAX][MAX];
int i,j;
int comb(int n,int k)
{
if(c[n][k]>=1) return c[n][k];
else
{
c[n][k]=comb(n-1,k)+comb(n-1,k-1);
c[n][n-k]=c[n][k];
return c[n][k];
}
}
void main(void)
{
clrscr();
cout<<"Intr n,k :\n";
cin>>a>>b;
for(i=0;i<a;i++)
for(j=0;j<b;j++)
c[i][j]=-1;
for(i=0;i<a;i++)
{
c[i][0]=1;
c[i][i]=1;
if(i>=1)
{
c[i][1]=i;
c[i][i-1]=i;
}
}
cout<<"\ncomb("<<a<<","<<b<<")= "<<comb(a,b);
getche();
}
Combinari n,k - recursiv
# include <conio.h>;
# include <iostream.h>;
int a,b;
int comb(int n,int k)
{
if(k==n) return 1;
else if(k<=1) return n;
else return (comb(n-1,k)+comb(n-1,k-1));
}
void main(void)
{
clrscr();
cout<<"Intr n,k :\n";
cin>>a>>b;
cout<<"\ncomb("<<a<<","<<b<<")= "<<comb(a,b);
getche();
}
# include <iostream.h>;
int a,b;
int comb(int n,int k)
{
if(k==n) return 1;
else if(k<=1) return n;
else return (comb(n-1,k)+comb(n-1,k-1));
}
void main(void)
{
clrscr();
cout<<"Intr n,k :\n";
cin>>a>>b;
cout<<"\ncomb("<<a<<","<<b<<")= "<<comb(a,b);
getche();
}
Sortare Selectie
# include <iostream.h>;
# include <conio.h>;
# define MAX 10
int n,i,j,k;
int sch;
typedef int sir[MAX];
sir s;
void main(void)
{
clrscr();
cout<<"Intr nr de elemente: ";
cin>>n;
for(i=0;i<n;i++)
cin>>s[i];
for(k=0;k<n-1;k++)
{
sch=0;
i=k;
for(j=k+1;j<n;j++)
if(s[j]<s[i])
{
i=j;
sch=1;
}
if(sch)
{
s[i]=s[i]^s[k];
s[k]=s[i]^s[k];
s[i]=s[i]^s[k];
}
}
cout<<"\nSirul sortat este:\n";
for(i=0;i<n;i++)
cout<<s[i]<<" ";
getche();
}
# include <conio.h>;
# define MAX 10
int n,i,j,k;
int sch;
typedef int sir[MAX];
sir s;
void main(void)
{
clrscr();
cout<<"Intr nr de elemente: ";
cin>>n;
for(i=0;i<n;i++)
cin>>s[i];
for(k=0;k<n-1;k++)
{
sch=0;
i=k;
for(j=k+1;j<n;j++)
if(s[j]<s[i])
{
i=j;
sch=1;
}
if(sch)
{
s[i]=s[i]^s[k];
s[k]=s[i]^s[k];
s[i]=s[i]^s[k];
}
}
cout<<"\nSirul sortat este:\n";
for(i=0;i<n;i++)
cout<<s[i]<<" ";
getche();
}
Fib - programare dinamica
//fib(75) = OK
# include <conio.h>;
# include <iostream.h>;
# define MAX 5000
int n;
long int f[MAX];
long int i;
long int fib(long int n)
{
if(f[n]!=-1) return f[n];
else
{
f[n]=fib(n-1)+fib(n-2);
return f[n];
}
}
void main(void)
{
clrscr();
for(i=0;i<MAX;i++)
f[i]=-1;
f[0]=f[1]=1;
cout<<"Intr n :\n";
cin>>n;
cout<<"\nfib("<<n<<")= "<<fib(n);
getche();
}
# include <conio.h>;
# include <iostream.h>;
# define MAX 5000
int n;
long int f[MAX];
long int i;
long int fib(long int n)
{
if(f[n]!=-1) return f[n];
else
{
f[n]=fib(n-1)+fib(n-2);
return f[n];
}
}
void main(void)
{
clrscr();
for(i=0;i<MAX;i++)
f[i]=-1;
f[0]=f[1]=1;
cout<<"Intr n :\n";
cin>>n;
cout<<"\nfib("<<n<<")= "<<fib(n);
getche();
}
Interclasare Fisiere
# include <stdio.h>;
# include <conio.h>;
FILE *pf1, *pf2, *pf3;
int n1,n2,n3;
void main(void)
{
clrscr();
pf1=fopen("fis1.txt","r");
pf2=fopen("fis2.txt","r");
pf3=fopen("fis3.txt","w+");
fscanf(pf1,"%d",&n1);
fscanf(pf2,"%d",&n2);
int f=0;
while(!feof(pf1)&&(!feof(pf2)))
{
if(f==1)
fscanf(pf1,"%d",&n1);
if(f==2)
fscanf(pf2,"%d",&n2);
if(n1<n2)
{
fprintf(pf3,"%d\n",n1);
f=1;
}
else
{
fprintf(pf3,"%d\n",n2);
f=2;
}
}
FILE * aux;
int n=0;
if(feof(pf1) && (!feof(pf2)))
{
aux=pf2;
while(n2<=n1)
{
fprintf(pf3,"%d\n",n2);
fscanf(pf2,"%d",&n2);
}
fprintf(pf3,"%d\n",n2);
}
else if((!feof(pf1)) && feof(pf2))
{
aux=pf1;
while(n1<=n2)
{
fprintf(pf3,"%d\n",n1);
fscanf(pf1,"%d",&n1);
}
fprintf(pf3,"%d\n",n1);
}
while(!feof(aux))
{
fscanf(aux,"%d",&n);
fprintf(pf3,"%d\n",n);
}
fclose(pf1);
fclose(pf2);
fclose(pf3);
getche();
}
# include <conio.h>;
FILE *pf1, *pf2, *pf3;
int n1,n2,n3;
void main(void)
{
clrscr();
pf1=fopen("fis1.txt","r");
pf2=fopen("fis2.txt","r");
pf3=fopen("fis3.txt","w+");
fscanf(pf1,"%d",&n1);
fscanf(pf2,"%d",&n2);
int f=0;
while(!feof(pf1)&&(!feof(pf2)))
{
if(f==1)
fscanf(pf1,"%d",&n1);
if(f==2)
fscanf(pf2,"%d",&n2);
if(n1<n2)
{
fprintf(pf3,"%d\n",n1);
f=1;
}
else
{
fprintf(pf3,"%d\n",n2);
f=2;
}
}
FILE * aux;
int n=0;
if(feof(pf1) && (!feof(pf2)))
{
aux=pf2;
while(n2<=n1)
{
fprintf(pf3,"%d\n",n2);
fscanf(pf2,"%d",&n2);
}
fprintf(pf3,"%d\n",n2);
}
else if((!feof(pf1)) && feof(pf2))
{
aux=pf1;
while(n1<=n2)
{
fprintf(pf3,"%d\n",n1);
fscanf(pf1,"%d",&n1);
}
fprintf(pf3,"%d\n",n1);
}
while(!feof(aux))
{
fscanf(aux,"%d",&n);
fprintf(pf3,"%d\n",n);
}
fclose(pf1);
fclose(pf2);
fclose(pf3);
getche();
}
2 la N - vectori
# include<stdio.h>
# include<conio.h>
# define MAX 100
int i,k,j,n,r[MAX],fr[MAX];
int nrcif=1;
int main(void)
{
//clrscr();
printf("Intr n: ");
scanf("%d",&n);
r[0]=1;
fr[0]=1;
for(k=0;k<n;k++)
{
r[0]=(2*r[0])%10;
i=1;
while(i<=nrcif)
{
r[i]=(2*r[i])%10+(2*fr[i-1])/10;
i++;
}
if(2*r[nrcif-1]>=10) nrcif++;
for(j=0;j<i;j++) fr[j]=r[j];
}
printf("\n");
for(j=0;j<nrcif;j++)
printf("%d ",r[j]);
getche();
return 0;
}
# include<conio.h>
# define MAX 100
int i,k,j,n,r[MAX],fr[MAX];
int nrcif=1;
int main(void)
{
//clrscr();
printf("Intr n: ");
scanf("%d",&n);
r[0]=1;
fr[0]=1;
for(k=0;k<n;k++)
{
r[0]=(2*r[0])%10;
i=1;
while(i<=nrcif)
{
r[i]=(2*r[i])%10+(2*fr[i-1])/10;
i++;
}
if(2*r[nrcif-1]>=10) nrcif++;
for(j=0;j<i;j++) fr[j]=r[j];
}
printf("\n");
for(j=0;j<nrcif;j++)
printf("%d ",r[j]);
getche();
return 0;
}
Abonați-vă la:
Postări (Atom)