Mă puteți ajuta cu aceste probleme?
Răspunsuri la întrebare
Răspuns:
4. Să se verifice dacă în vector există un element care are prima cifră egală cu ultima.
#include<iostream>
using namespace std;
int nr,n,v[100],i,x,y;
int main()
{cout<<"Dimensiunea vectorului este:";
cin>>n;
cout<<"Cititi vectorul!"<<endl;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
{x=v[i]%10;
y=v[i];
while(y>9) {y=y/10;}
if(x==y) nr++;
}
cout<<endl;
if(nr==1) cout<<"Exista!";
else cout<<"Nu exista!";
return 0;
}
5. Sa se verifice daca in vector exista cel putin un element palindrom.
#include<iostream>
using namespace std;
int n,v[100],i,inv,x,nr;
int main()
{cout<<"Dimensiunea vectorului este:";
cin>>n;
cout<<"Cititi vectorul!"<<endl;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
{x=v[i];
while(x!=0) {inv=inv*10+x%10;
x=x/10;}
if(inv==v[i]) nr++;}
cout<<endl;
if(nr==0) cout<<"Nu exista!";
else cout<<"Exista!";
return 0;
}
Set III
Se citeste un vector cu n elemente numere naturale. Se cere:
1. Sa se interschimbe primul element cu al doilea, al treilea cu al patrulea, s.a.m.d.
#include<iostream>
using namespace std;
int a[100],n,i,aux;
int main()
{ cout<<"n="; cin>>n;
for(i=1;i<=n;i++) cin>>a[i];
for(i=1;i<n;i=i+2)
{ aux=a[i];
a[i]=a[i+1];
a[i+1]=aux; }
for(i=1;i<=n;i++) cout<<a[i]<<" ";
return 0;
}
2. Sa se determine cate dintre perechile de elemente egal departate de capetele vectorului sunt prime intre ele.
#include <iostream>
using namespace std;
int v[100],i,n,aux1,aux2,k=0;
int main ()
{ cout<<"Dimensiunea vectorului este:";
cin>>n;
cout<<"Cititi vectorul!"<<endl;
for(i=0;i<n;i++)
cin>>v[i];
for(i=0;i<n;i++)
{ aux1=v[i];
aux2=v[n-i-1];
while(aux1!=aux2) { if(aux1>aux2 || aux1==aux2) aux1=aux1-aux2;
else aux2=aux2-aux1; }
if(aux1==1) k++; }
if(k%2==0) cout<<k/2;
else cout<<k/2+1;
return 0;
}
3. Sa se determine cate perechi de elemente din vector sunt formate din valori cu aceeasi suma a cifrelor.
#include <iostream>
using namespace std;
int a[100],n,i,j,s1,s2,cif,pairs=0;
int main()
{ cout<<"Dimensiunea vectorului este:";
cin>>n;
cout<<"Cititi vectorul!"<<endl;
for(i=0; i<n; i++)
cin>>a[i];
for(i=0; i<n; i++)
{ s1=0;
while(a[i]!=0) {cif=a[i]%10;
s1=s1+cif;
a[i]=a[i]/10; }
for(j=i+1; j<n; j++)
{ s2=0;
while(a[j]!=0) { cif=a[j]%10;
s2=s2+cif;
a[j]=a[j]/10; }
if(s1==s2) pairs++;
}}
cout<<pairs;
return 0;
}
4. Sa se determine perechea de elemente dintr-un vector egal departate de centru cu suma elementelor maxima.
#include <iostream>
using namespace std;
int n, i, v[1001], summax, poz, s;
int main()
{ cout<<"Dimensiunea vectorului este:";
cin>>n;
cout<<"Cititi vectorul!"<<endl;
for (i=1; i<=n; ++i)
cin>>v[i];
for (i=1; i<=n/2; ++i)
{ s=v[i]+v[n+1-i];
if (s>summax) { summax=s;
poz=i; } }
cout <<"Perechea de elemente are suma maxima"<<" "<< summax << " " <<",iar elementele sunt pe pozitiile"<<" "<< poz << " "<<"si" <<" "<< n+1-poz;
return 0;
}
5. Se considera un sir a[1],a[2], ... ,a[n] de numere intregi. Sa se determine diferenta maxima de forma a[i]-a[j], unde 1≤i≤j≤n.
#include<iostream>
using namespace std;
int n,a[1000],i,j,dif;
int main()
{cout<<"Dimensiunea vectorului este:";
cin>>n;
cout<<"Cititi vectorul!"<<endl;
for(int i=1;i<=n;i++)
cin>>a[i];
dif=a[2]-a[1];
for(i=0;i<=n;i++)
{ for(j=i;j<=n;j++)
if(a[i]-a[j]>dif) dif=a[i]-a[j];
}
cout<<dif;
return 0;
}
Set IV
1. Sa se construiasca un alt vector y, cu proprietatea ca y[i] este egal cu restul impartirii lui x[i] la suma cifrelor lui x[i].
#include <bits/stdc++.h>
using namespace std;
int n, i, a, x[205], y[205], s;
int main()
{ cout<<"Dimensiunea vectorului este:";
cin >> n;
cout<<"Cititi vectorul!"<<endl;
for(i = 1; i <= n; i ++)
cin >> x[i];
for(i = 1; i <= n; i ++)
{ a = x[i];
s = 0;
while(a != 0) { s = s + a % 10;
a = a / 10; }
y[i] = x[i] % s;
cout << y[i] << " "; }
return 0;
}
2. Se da un vector cu n elemente, numere naturale. Sa se construiasca un alt vector, y cu n elemente, cu proprietatea ca y[i] este egal cu suma elemente lor din x[i], cu exceptia lui x[i].
#include <iostream>
using namespace std;
int n,x[50],y[50],i,s=0;
int main()
{ cout<<"Dimensiunea vectorului este:";
cin>>n;
cout<<"Cititi vectorul!"<<endl;
for(i=0;i<n;i++)
cin>>x[i];
for(i=0;i<n;i++)
s=s+x[i];
for(i=0;i<n;i++)
y[i]=s-x[i];
for(i=0;i<n;i++)
cout<<y[i]<<" ";
return 0;
}