Răspuns :
Răspuns:
#include <iostream>
#include <math.h>
#include <fstream>
#include <string.h>
using namespace std;
bool numar_rotund(int n)
{
int d=1, cifre0=0, cifre1=0;
while(n!=0)
{
if(n%2==0)
cifre0++;
else
cifre1++;
n=n/2;
}
if (cifre0==cifre1)
return 1;
return 0;
}
bool suma_divizori (int n)
{
int s,d;
for (d=1; d<=n/2; d++)
if (n%d==0)
s+=d;
s+=n;
if (s%2==0)
return 1;
return 0;
}
bool suma_cifre (int n)
{
int s=0;
while (n)
{
s+=n%10;
n/=10;
}
if (s%2==1)
return 1;
return 0;
}
bool prima_ultima(int n)
{
int c;
c=n%10;
while (n>9)
n/=10;
if (n!=c)
return 0;
return 1;
}
bool prim (int n)
{
int d=2;
bool ok=1;
if (n%d==0 && n!=2)
return 0;
d++;
while ((d<=sqrt(n))&&(ok))
if (n%d==0)
{
return 0;
ok=0;
} else
d+=2;
return 1;
}
bool cifre_egale(int n)
{
int c;
c=n%10; n/=10;
while (n)
{
if (c!=n%10)
return 0;
n/=10;
}
return 1;
}
int main()
{
{
ifstream f("apl01.txt");
int m, n, i, j, nr, nr_prime=0;
f>>m>>n;
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
f>>nr;
if (prim(nr))
nr_prime++;
}
if (nr_prime>=7)
cout<<"da"; else
cout<<"nu";
cout<<"\n";
}
{
ifstream f("apl02.txt");
int m, n, i, j, nr;
f>>m>>n;
cout<<"cifre egale:";
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
f>>nr;
if (cifre_egale(nr))
cout<<nr<<" ";
}
cout<<"\n";
}
{
ifstream f("apl03.txt");
int m, n, i, j, nr;
f>>m>>n;
cout<<"prima egala cu ultima:";
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
f>>nr;
if (prima_ultima(nr))
cout<<nr<<" ";
}
cout<<"\n";
}
{
ifstream f("apl04.txt");
int m, n, i, j, nr;
f>>m>>n;
cout<<"prim si suma cifre:";
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
f>>nr;
if (prim(nr)&&suma_cifre(nr))
cout<<nr<<" ";
}
cout<<"\n";
}
{
ifstream f("apl05.txt");
int m, n, i, j, nr;
f>>m>>n;
cout<<"suma divizori:";
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
f>>nr;
if (suma_divizori(nr))
cout<<nr<<" ";
}
cout<<"\n";
}
{
ifstream f("apl06.txt");
int m, n, i, j, nr;
f>>m>>n;
cout<<"numere rotunde:";
for (i=0; i<m; i++)
for (j=0; j<n; j++)
{
f>>nr;
if (numar_rotund(nr)&&(i%2==0))
cout<<nr<<" ";
}
cout<<"\n";
}
return 0;
}
Explicație:
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f01("apl01.txt");
int m,n,i,j,a[100][100];
bool prim(int x)
{
if (x<2) return false;
if (x==2) return true;
if (x%2==0) return false;
for (int d=3; d*d<=x; d+=2)
if (x%d==0) return false;
return true;
}
int main()
{
f01 >> m >> n;
int prime=0;
for (i=0; i<m; ++i)
{
for (j=0; j<n; ++j)
{
f01 >> a[i][j];
if (prim(a[i][j])) {++prime;}
}
}
if (prime>=7) cout << "DA";
else cout << "NU";
f01.close();
}
#include <iostream>
#include <fstream>
using namespace std;
ifstream f02("apl02.txt");
int m,n,i,j,a[100][100];
bool egaleCifre(int x)
{
if (x<10) return true;
else
{
int c1,c2;
c1=x%10; x=x/10;
while (x>0)
{
c2=x%10;
if (c1!=c2) return false;
x=x/10;
}
return true;
}
}
int main()
{
f02 >> m >> n;
int exista=0;
cout << "elemente cu toate cifrele egale: \n";
for (i=0; i<m; ++i)
{
for (j=0; j<n; ++j)
{
f02 >> a[i][j];
if (egaleCifre(a[i][j])) { exista=1; cout << a[i][j] << " ";}
}
}
if (exista==0) cout << "Nu exista...";
f02.close();
}
#include <iostream>
#include <fstream>
using namespace std;
ifstream f03("apl03.txt");
int m,n,i,j,a[100][100];
bool PegalaU(int x)
{
if (x<10) return true;
else
{
int p,u;
u=x%10; x=x/10;
while (x>9)
{
x=x/10;
}
p=x;
return p==u;
}
}
int main()
{
f03 >> m >> n;
int exista=0;
cout << "elemente la care prima cifra egala cu ultima cifra: \n";
for (i=0; i<m; ++i)
{
for (j=0; j<n; ++j)
{
f03 >> a[i][j];
if (PegalaU(a[i][j])) { exista=1; cout << a[i][j] << " ";}
}
}
if (exista==0) cout << "Nu exista...";
f03.close();
}
#include <iostream>
#include <fstream>
using namespace std;
ifstream f04("apl04.txt");
int m,n,i,j,a[100][100];
bool prim(int x)
{
if (x<2) return false;
if (x==2) return true;
if (x%2==0) return false;
for (int d=3; d*d<=x; d+=2)
if (x%d==0) return false;
return true;
}
int sumaCifre(int m)
{
int s=0;
while (m>0)
{
s=s+m%10;
m=m/10;
}
return s;
}
int main()
{
f04 >> m >> n;
int exista=0;
cout << "elemente prime si cu suma cifrelor impara: \n";
for (i=0; i<m; ++i)
{
for (j=0; j<n; ++j)
{
f04 >> a[i][j];
if (prim(a[i][j]) && sumaCifre(a[i][j])%2==1) { exista=1; cout << a[i][j] << " ";}
}
}
if (exista==0) cout << "Nu exista...";
f04.close();
}
Explicație:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f05("apl05.txt");
int m,n,i,j,a[100][100];
int sumaDiv(int x)
{
int s=0, d;
for (d=1; d*d<x; ++d)
if (x%d==0)
{
s=s+d+x/d;
}
if (d*d==x) s+=d;
return s;
}
int main()
{
f05 >> m >> n;
int exista=0;
cout << "elemente cu suma divizorilor nr. par: \n";
for (i=0; i<m; ++i)
{
for (j=0; j<n; ++j)
{
f05 >> a[i][j];
if (sumaDiv(a[i][j])%2==0) { exista=1; cout << a[i][j] << " ";}
}
}
if (exista==0) cout << "Nu exista...";
f05.close();
}
#include <iostream>
#include <fstream>
using namespace std;
ifstream f06("apl06.txt");
int m,n,i,j,a[100][100];
bool rotund(int x)
{
if (x==0) return false;
else
{
int unu=0, zero=0;
while (x>0)
{
if (x%2==0) ++zero;
else ++unu;
x/=2;
}
return unu==zero;
}
}
int main()
{
f06 >> m >> n;
int exista=0;
cout << "elemente rotunde pe linii impare: \n";
for (i=0; i<m; ++i)
{
for (j=0; j<n; ++j)
{
f06 >> a[i][j];
if (rotund(a[i][j]) && i%2==1) { exista=1; cout << a[i][j] << " ";}
}
}
if (exista==0) cout << "Nu exista...";
f06.close();
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!