Probleme rezolvate C++
Fie un șir de numere întregi citite dintr-un fişier [Link], de pe prima linie. Să se afişeze toate
perechile de numere consecutive din șir pe crânduri diferite, care au proprietatea că au aceeași paritate.
Exemplu : 5, 41, 3, 22, 16, 41, 28, 5, 141, 84. -Se vor afişa perechile :
5 41
41 3
22 16
5 141
#include <fstream>
#include<string.h>
#include <iostream>
using namespace std;
int main()
{
ifstream f;
int k=0,i,v[100];
[Link]("[Link]");
while(![Link]())
{
f>>v[k];
k++;
}
[Link]();
for(i=0;i<k-1;i++)
if((v[i]+v[i+1])%2==0)
{
cout <<v[i]<<' '<<v[i+1]<<endl;
}
return 0;
}
Din fișierul [Link] se citește de pe prima linie n număr natural iar de pe a doua linie n numere
naturale. Să se afișeze pe ecran cel mai mare număr prim dintre cele citite.
Ex; 22, 3, 102, 17, 54, 13,6.
-Se afişează 17.
#include <fstream>
#include<string.h>
#include <iostream>
using namespace std;
int prim(int k)
{int i;
for(i=2;i<k;i++)
if(k%i==0)
return 0;
return 1;
int main()
{
ifstream f; int
n,k,i,p=0;
[Link]("[Link]");
f>>n;
for(i=0;i<n;i++)
{
f>>k;
if(prim(k) && k>p)
p=k;
}
[Link]();
cout <<p;
return 0;
}
Se citește n număr natural și apoi n numere naturale. Să se afişeze acelea cu proprietatea că
divid
se cu suma cifrelor lor.
Ex: Dc n=3 şi numerele 13, 18 şi 67 se va afişa 18. (18 se divide cu 1+8=9)
#include <fstream>
#include<string.h>
#include <iostream>
using namespace std;
int main()
{
ifstream f; int
n,k,i,p,s;
[Link]("[Link]");
f>>n;
for(i=0;i<n;i++)
{
f>>k;
p=k; s=0;
while(p>0)
{
s=s+p%10;
p=p/10;
}
if(k%s==0)
cout<<k;
}
[Link]();
return 0;
}
Fie (Xn), cu n N, un şir de numere reale, care verifică următoarele relaţii de recurenţă:
X0=1;
X1=2;
Xn=2*Xn-1 + Xn-2;
Pentru n număr natural citit de la tastatură să se afișeze termenii șirului X 1, X2,..,Xn.
#include<string.h>
#include <iostream>
using namespace std;
int main()
{
int i,n,x0,x1,s;
x0=1;
x1=2;
cin>>n;
for(i=0;i<n;i++)
{
cout<<x1<<' ';
s=2*x1+x0;
x0=x1;
x1=s;
}
return 0;
}
Fie n (n<=100) puncte în plan date prin coordonatele lor întregi şi identificate prin numere de ordine de la 1 la
n. Să se numere câte puncte sunt în interiorul unui cerc de rază r şi centru O(0,0), unde r >0 este citit de la tastatura,
cat si coordonatele celor n puncte.
#include <fstream>
#include<string.h>
#include <iostream>
using namespace std;
int main()
{
ifstream f;
int n,x,y,i,p=0;
float r;
[Link]("[Link]");
f>>r;
f>>n;
for(i=0;i<n;i++)
{
f>>x; f>>y;
if(x*x+y*y<r*r)
p++;
}
[Link]();
cout<<p;
return 0;
}