Informatică, întrebare adresată de Ematema, 8 ani în urmă

Sa se scrie un program c++ ce citește de la tastatura un numar natural n cu cel mult 10 cifre programul determina și scrie în fișierul număr. out cel mai mare număr care se poate obține utilizând toate cifrele distincte ale lui n(obs: sa se folosească un vector pentru a numără de câte ori apare fiecare cifra) ​

Răspunsuri la întrebare

Răspuns de Levi20
2

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ofstream g("numar.out");

int a[10];

int main()

{

int n,nr=0;

cin>>n;

while(n)

{

a[n%10]++;

n/=10;

}

for(int i=9;i>=0;i--)

if(a[i]!=0)

nr=nr*10+i;

g<<nr;

return 0;

}

Explicație:


Ematema: bună ai putea sa faci și problema asta te rog mult? Scrieti un program c/c++ care citeste de la tastatura un număr natural n unde n aparține intervalului[ 2,20], și cele n elemente ale ale unui tablou unidimensional numere naturale din intervalul[1 ; 10 la puterea 4 ]. Programul va scrie în fișierul date. out numărul de elemente formate dintr un numar egal de cifre pare și cifre impare. exemplu: pentru n=8 și tabloul (2,24,10,902,4321,17,45,30) se scrie în fișier 4.
Levi20: include
include
using namespace std;
ofstream g("date.out");
bool cifre(int x)
{
int nrp=0,nri=0,d;
if(x<10)
return false;
while(x)
{
d=x%10;
if(d%2==0)
nrp++;
else
nri++;
x/=10;
}
if(nrp==nri)
return true;
return false;
}
int main()
{
int n,a[21],nr=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(cifre(a[i])==true)
nr++;
}
g< return 0;
}
Ematema: mulțumesc mult
Levi20: Vezi ca se trimite aiurea programul in zona de comentarii. Sper ca stii sa "repari ce nu s-a trimis.
Levi20: Gen sus la include "fstream/iostream
Ematema: da. ok. mersi mult
Levi20: Cu placere
Alte întrebări interesante