0% au considerat acest document util (0 voturi)
31 vizualizări6 pagini

Hu

Documentul conține mai multe programe C++ care manipulează șiruri de numere naturale. Aceste programe includ funcții pentru combinarea șirurilor ordonate, numărarea perechilor de numere cu sumă primă, inserarea de elemente, eliminarea perechilor egale și afișarea valorilor pare. Fiecare program este însoțit de comentarii care explică scopul și funcționalitatea acestuia.

Încărcat de

rares
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca TXT, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
31 vizualizări6 pagini

Hu

Documentul conține mai multe programe C++ care manipulează șiruri de numere naturale. Aceste programe includ funcții pentru combinarea șirurilor ordonate, numărarea perechilor de numere cu sumă primă, inserarea de elemente, eliminarea perechilor egale și afișarea valorilor pare. Fiecare program este însoțit de comentarii care explică scopul și funcționalitatea acestuia.

Încărcat de

rares
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca TXT, PDF, TXT sau citiți online pe Scribd

#include <iostream>

using namespace std;


///Se dau două şiruri a şi b, cu n, respectiv m elemente, numere naturale, ordonate
crescător respectiv
///descrescător. Să se construiască un al treilea şir, c, care să conţină, în
ordine crescătoare, elementele
///din şirurile a şi b.
int main()
{
int a[100],b[100],n,m,i,j,k,c[200];
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"m=";
cin>>m;
for(j=1;j<=m;j++)
{
cout<<"b["<<j<<"]=";
cin>>b[j];
}
i=1;
j=m;
while(i<=n && j>=1)
{
if(a[i]<b[j])
c[++k]=a[i++];
else
c[++k]=b[j--];
}
while(i<=n)
c[++k]=a[i++];
while(j>=1)
c[++k]=b[j--];
for(i=1;i<=k;i++)
cout<<c[i]<<" ";

return 0;
}

#include <iostream>

using namespace std;


///Se dau două şiruri p şi q, cu n, respectiv m elemente, numere naturale, ordonate
descrescător. Să se
///construiască un al treilea şir, c, care să conţină, în ordine crescătoare,
elementele din şirurile p şi q.
int main()
{
int p[100],n,m,q[100],k,c[200],i,j;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"p["<<i<<"]=";
cin>>p[i];
}
cout<<"m=";
cin>>m;
for(j=1;j<=m;j++)
{
cout<<"q["<<j<<"]=";
cin>>q[j];
}
i=n;
j=m;
while(i>=1 && j>=1)
{
if(p[i]<q[j])
c[++k]=p[i--];
else
c[++k]=q[j--];
}
while(i>=1)
c[++k]=p[i--];
while(j>=1)
c[++k]=q[j--];
for(i=1;i<=k;i++)
cout<<c[i]<<" ";

return 0;
}
#include <iostream>

using namespace std;


///Se dă un șir format din n numere naturale. Determinați numărul de perechi de
elemente consecutive
///din șir care au suma un număr prim.
int main()
{
int v[100],n,i,nr=0,s,ok,j;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n;i++)
{
s=v[i]+v[i+1];
ok=1;
if(s<=1)
ok=0;
for(j=2;j<=s/2;j++)
if(s%j==0)
ok=0;
if(ok==1)
nr++;
}
cout<<nr<<endl;
return 0;
}

#include <iostream>

using namespace std;


///Să se insereze într-un șir de cel mult 100 numere naturale, după fiecare element
par cel mai mic
///număr din șir.
int main()
{
int v[100],n,i,min=1000000,j,x;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n;i++)
{
if(v[i]<min)
min=v[i];
}

for(i=1;i<=n;i++)
if(v[i]%2==0)
{

n++;
for(j=n;j>=i+1;j--)
v[j]=v[j-1];
v[i+1]=min;
i++;
}
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
return 0;
}

#include <iostream>

using namespace std;


///Se citește un șir de n numere naturale. Să se elimine toate perechile de numere
egale aflate pe poziții
///consecutive în șir și să se afișeze șirul obținut după eliminare precum și
numărul perechilor
///eliminate.
int main()
{
int n,i,v[100],c,x,j,nr=0;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n;i++)
{
if(v[i]==v[i+1] && v[i+1]!=v[i+2])
{
for(j=i;j<=n-1;j++)
v[j]=v[j+1];
n--;
i--;
for(j=i+1;j<=n-1;j++)
v[j]=v[j+1];
n--;
i--;
nr++;
}

}
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
cout<<nr<<endl;
return 0;
}

#include <iostream>

using namespace std;


///Se dau două şiruri, cu n, respectiv m, elemente, numere naturale. Primul şir
este ordonat crescător, iar
///al doilea element este ordonat descrescător. Să se afişeze, în ordine
crescătoare, valorile pare din cele
///două şiruri.
int main()
{
int v[100],w[100],n,m,i,j,k=0,k1=0,c[200],a[100],b[100],k2=0;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
cout<<"m=";
cin>>m;
for(j=1;j<=m;j++)
{
cout<<"w["<<j<<"]=";
cin>>w[j];
}
for(i=1;i<=n;i++)
{
if(v[i]%2==0)
{
k++;
a[k]=v[i];
}
}
for(i=1;i<=k;i++)
cout<<a[i]<<" ";
cout<<endl;
for(j=1;j<=m;j++)
{
if(w[j]%2==0)
{
k1++;
b[k1]=w[j];
}
}
for(j=1;j<=k1;j++)
cout<<b[j]<<" ";
cout<<endl;
i=1;
j=m;
while(i<=n && j>=1)
{
if(a[i]<b[j])
c[++k2]=a[i++];
else
c[++k2]=b[j--];
}
while(i<=n)
c[++k2]=a[i++];
while(j>=1)
c[++k2]=b[j--];
for(i=1;i<=k2;i++)
cout<<c[i]<<" ";
return 0;
}

#include <iostream>

using namespace std;


///Se dă un şir format din n elemente, numere naturale. Calculaţi suma elementelor
din secvenţa
///determinată de primul şi ultimul element prim.
int main()
{
int v[100],n,i,x,ok,j;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
for(i=1;i<=n;i++)
{
x=v[i];
ok=0;
if(x<=1)
ok=1;
for(j=2;i<=x/2;j++)
if(x%j==0)
ok=0;

}
if(ok==1)
cout<<x<<" ";
for(i=1;i<=n;i++)
{
ok1=0;
if(y<=1)
ok1=1;
for(j=2;j<=y/2;j++)
if(y%j==0)
ok1=0;
if(ok1==1)
{
y=i;
ok=1;
}
}
s=x+y;
cout<<s<<endl;
return 0;
}

S-ar putea să vă placă și