Documente Academic
Documente Profesional
Documente Cultură
1. b
2. 12345
3. //varianta 001 sub III pr 3
#include<fstream.h>
void main()
{
fstream f("bac.txt",ios::in);
unsigned int n,ok=0,x;
do
{
cout<<"n= ";cin>>n;
}while(n>999);
while(!f.eof())
{
f>>x;
if(x%n==0)
{
cout<<x<<' ';
ok=1;
}
}
if(!ok)
cout<<"nu exista";
f.close();
}
4. //varianta 001 sub III pr 4
#include<iostream.h>
unsigned sub(int v[100],int n,int a)
{
unsigned nr=0;
for(int j=1;j<=n;j++)
if(v[j]<a)
nr++;
return nr;
}
void main()
{
unsigned n,s=0,i;
int v[100];
cout<<"n= ";
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
s+=sub(v,n,v[i]);
if(s==n*(n-1)/2)
cout<<"DA";
else
cout<<"NU";
}
Varianta 002
1. d
2. 5310135
3. #include<fstream.h>
int a[100],n,i,ok,aux;
n=n%10*100+n/10;
n1=n1%10*100+n1/10;
}
if(ok) cout<<"DA";
else
cout<<"NU";
}
Varianta 003
1. a
2. xyyy
3. //Varianta3 probl3
#include<fstream.h>
fstream f("nr.txt",ios::in);
int v[100],aux,ok,n,i=0,a;
void main()
{
while(f>>a)
if(a>=100 && a<=999)
v[++i]=a;
n=i;
if(i==0) cout<<"nu exista";
else
{
do
{
ok=1;
for(i=1;i<n;i++)
if(v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=0;
}
}while(!ok);
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
}
f.close();
}
4. //varianta 003 sub III pr 4
#include<iostream.h>
unsigned cif(long int a, int b)
{
int c=0;
while(a>0)
{
if(a%10==b)
c++;
a/=10;
}
return c;
}
void main()
{
long n;
int ok=1,v[10],i,k;
do
{
cout<<"n= ";cin>>n;
}while(n<10000000 || n>99999999);
for(i=0;i<=9;i++)
v[i]=cif(n,i);
for(i=0;i<=9;i++)
if(v[i]%2!=0)
ok=0;
n=0;
if(ok)
{
for(i=9;i>=0;i--)
if(v[i]!=0)
for(k=1;k<=v[i]/2;k++)
n=n*10+i;
for(i=0;i<=9;i++)
if(v[i]!=0)
for(k=1;k<=v[i]/2;k++)
n=n*10+i;
}
cout<<n;
}
Varianta 004
1. c
2. 01111
3. //varianta 4 pr3
#include<fstream.h>
int v[100],i,a,ok=1;
fstream f("nr.txt",ios::in);
void main()
{
while(f>>a)
if(a<100)
v[a]=1;
for(i=99;i>=0;i--)
if(v[i]==1)
{
cout<<i<<" ";
ok=0;
}
if(ok) cout<<"nu exista";
f.close();
}
4. //varianta 004 sub III pr 4
#include<iostream.h>
unsigned cif(long int a, int b)
{
int c=0;
while(a>0)
{
if(a%10==b)
c++;
a/=10;
}
return c;
}
void main()
{
long n;
int ok=1,v[10],i,k;
do
{
cout<<"n= ";cin>>n;
}while(n<10000000 || n>99999999);
for(i=0;i<=9;i++)
v[i]=cif(n,i);
for(i=0;i<=9;i++)
if(v[i]%2!=0)
ok=0;
n=0;
if(ok)
{
for(i=0;i<=9;i++)
if(v[i]!=0)
for(k=1;k<=v[i]/2;k++)
n=n*10+i;
for(i=9;i>=0;i--)
if(v[i]!=0)
for(k=1;k<=v[i]/2;k++)
n=n*10+i;
}
cout<<n;
}
Varianta 005
1. d
2. 7*****
3. //varianta 005 sub III pr 4
#include<fstream.h>
void main()
{
fstream f("nr.txt",ios::out);
long n;
do
{
cout<<"n= ";cin>>n;
}while(n<10);
while(n>0)
{
f<<n<<" ";
n/=10;
}
f.close();
}
4. //varianta5 problema 4
#include<iostream.h>
long f(long a)
{
int d=2;
while(a%d!=0)
d++;
return d;
}
int n,a,v[100],k,ok,i,aux;
void main()
{
cout<<"n= ";cin>>n;
for(i=1;i<=n;i++)
{
cout<<"a= ";cin>>a;
if(f(a)==a)
v[++k]=a;
}
if(k==0) cout<<"Nu exista";
else
{
do
{
ok=1;
for(i=1;i<k;i++)
if(v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=0;
}
}while(!ok);
for(i=1;i<=k;i++)
cout<<v[i]<<" ";
}
}
Varianta 006
1. a
2. 7
3. //varianta 6 problema 3
#include<iostream.h>
unsigned i,n,v[100],s;
void main()
{
do
{
cout<<"n= ";cin>>n;
}while(n>100);
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]= ";cin>>v[i];
s+=v[i];
}
for(i=1;i<=n;i++)
{
cout<<s<<endl;
s=s-v[n-i+1];
}
}
4. //varianta 6 problema 4
#include<fstream.h>
fstream f("bac.txt",ios::in);
long x,y,l;
void main()
{
f>>x;
l=1;
while(f>>y)
{
if(x==y)
l++;
else
{
cout<<x<<" "<<l<<endl;
x=y;l=1;
}
}
cout<<x<<' '<<l;
}
Se citete primul numr din fiier n variabila x i se iniializeaz lungimea l cu 1.
Ct timp poate fi citit un numr din fiier se verific dac numrul noucitit este egal cu
precedentul; dac da se incrementeaz lungimea irului cu 1; altfel se afieaz
numrul i lungimea, apoi se reiniializeaz variabila l cu 1 i lui x i atribuim valoarea
lui x.
Metoda este eficient pentru c vom parcurge o singur dat fiierul, iar n memorie
vom pstra doar cte 2 numere din fiier i lungimea irului.
Varianta 007
1. c
2. C 95
3. //varianta 7 problema 3
#include<fstream.h>
int n,v[300],i,k,j,aux;
fstream f("bac.txt",ios::out);
void main()
{
cout<<"n= ";cin>>n;
for(i=1;i<=3*n;i++)
{
cout<<"v["<<i<<"]= ";
cin>>v[i];
if(v[i]%2==0 && k==0 && i<=n)
k=i;
if(v[i]%2==1 &&i>=2*n+1)
j=i;
}
if(k!=0 && j!=0)
{
aux=v[k];
v[k]=v[j];
v[j]=aux;
}
for(i=1;i<=3*n;i++)
f<<v[i]<<" ";
}
4. //varianta 007 sub III pr 4
#include<iostream.h>
long s;
long sub(long n)
{
long f1=0,f=0;
int i=1;
while(f<=n)
{
f1=f;
if(i<=5)
f=i;
else
f=2*f1;
i++;
}
return f1;
}
void main()
{
cout<<"s= ";
cin>>s;
while(s>0)
{
cout<<sub(s)<<' ';
s-=sub(s);
}
}
Varianta 008
1. c
2. 2
123
3. int sub(int n)
{
int s=0;
for(int i=1;i<=n;i++)
{
cin>>v[i];
if(sqrt(v[i])==floor(sqrt(v[i])))
s+=v[i];
}
return s;
}
4. //varianta 008 sub III pr 4
#include<fstream.h>
fstream f("bac.txt",ios::out);
int a[20],b[20],c[40],n,m,i,j,k;
void main()
{
cout<<"n= ";
cin>>n;
for (i=1;i<=n;i++)
cin>>a[i];
cout<<"m= ";
cin>>m;
for(j=1;j<=m;j++)
cin>>b[j];
i=j=k=1;
while(i<=n)
{
ok=1;
for(int k=2;k<=sqrt(i)&&ok;k++)
if(i%k==0)
ok=0;
if(ok)
{
b=a;
a=i;
}
i+=2;
}
}
4. //varianta 010 sub III pr 4
#include<fstream.h>
fstream f("produse.txt", ios::in);
int v[9999],i,c,s;
void main()
{
while(f>>i>>c>>s)
v[i]+=c*s;
for(i=1;i<=9999;i++)
if(v[i])
cout<<i<<" "<<v[i]<<endl;
}
n vectorul v pstrm suma total pentru fiecare tip de produs. Iniializm elementele
vectorului cu 0. Pentru fiecare triplet (I, c, s) citit din fiier vom crete elemental v[i]
cu c*s. nu mai este necesar sortarea vectorului. Vom face n adunri i n nmuliri.