Fişierul text cinci.in conține o linie cu numere natural nenule de maxim 4 cifre, separate prin spațiu. Să se afişeze, în fişierul text cinci.out, separate prin câte un spațiu: pe prima linie toate numerele prime din fişierul de intrare in ordine crescatoare, apoi pe a doua linie doar elementele palindroame dintre cele prime. (subprogram pentru: -verificarea daca un numar este numar prim, -verificarea daca un numar este palindrom, -ordonarea descrescatoarea a elementelor unui vector, -stergerea din vector a elementelor care nu sunt palindroame, -afisarea elementelor unui vector in fisier). Exemplu: Dacă fișierul cinci.in are conține 12 353 13 1317 1 14 3 25 149 atunci fişierul cinci.out va avea conţinutul de mai jos : 2 7 13 131 149 353 2 7 131 353
Răspunsuri la întrebare
Răspuns de
1
#include <fstream>
ifstream fin("cinci.in);
ofstream fout("cinci.out);
bool nrprim(int n)
{
if ( x==0 || x==1) return false;
for(int i=2; i*i<=n ;i++)
if(n%i==0)
return false;
return true;
}
bool palindrom(int n)
{
int x=0;
while(n)
{
x=x*10+n%10;
n/=10;
}
if(n==x)
return true;
return false;
}
void ordonare(int A[], int n)
{
int i,j;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(A[i]>A[j])
{
A[i]=A[i]+A[j];
A[j]=A[i]-A[j];
A[i]=A[i]-A[j];
}
}
void afisare(int A[], int n)
{
for(int i=1;i<=n;i++)
cout<<A[i]<<" ";
}
void stergere(int A[], int &n)
{
for(int=1;i<=n;i++)
{
if(palindrom(A[i])==0)
for(int j=i+1;j<=n;j++)
{
A[i]=A[j];
}
n--;
}
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă