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

se citesc din fisierul date.in n si n numere afisati cifrele care apar o singura data
o suta de puncte si coroana la primul


qxseb69: Nu prea se intelege intrebarea, poti reformula ?
tudor73ciulu: Se citesc din fisierul date.in n si n numere. Afisati cifrele care apar o singura data(adica cifra de la 0 la 9 si sa spuna care apare o singura data daca nu zice toate apar de mai multe ori)

Răspunsuri la întrebare

Răspuns de AndrewSon
2

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("date.in");

int n,a[101];

int main(){

f>>n;

for(int i=1;i<=n;i++){

cin>>a[i];

int f[101]={0};

while(a[i])

f[a[i]%10]++,a[i]/=10;

}

for(int i=0;i<=9;i++)

if(f[i]==1)

cout<<i<<" ";

return 0;

}


AndrewSon: vectorul f sa l declari inainte de main
tudor73ciulu: ok
tudor73ciulu: cum dau coroana
andrei750238: Ok, cateva observatii :
► Ai folosit f si pentru a deschide fisierul si pentru vectorul de frecventa care retine aparitiile cifrelor, nu prea e recomandat asa ceva, in proiecte mai mari te poti incurca destul de tare.
► Vectorul f de frecventa putea fi un vector caracteristic de dimensiune 10, salvai putin spatiu.
► Nu era absolut necesar sa salvezi tot sirul de variabile citite in a[], puteai folosi o singura variabila temporara. Vei observa in variantele de bac ca se prefera aceasta varianta.
AndrewSon: buna observație, m am obisnuit cu f la citire din fisier :)) poate sa schimbe si sa puna o altă litera
Alte întrebări interesante
Matematică, 9 ani în urmă