Informatică, întrebare adresată de byankabya99, 9 ani în urmă

Cerinţa
Se dau n numere întregi. Determinaţi câte dintre numerele date apar o singură dată.

Date de intrare
Fişierul de intrare unice1.in conţine pe prima linie numărul n; urmează n numere întregi, dispuse pe mai multe linii, separate prin spaţii,.

Date de ieşire
Fişierul de ieşire unice1.out va conţine pe prima linie C, numărul cerut.

Restricţii şi precizări
1 ≤ n ≤ 1000
cele n valori citite sunt cuprinse între -1000000 şi 1000000


artur99: cu sau fara vectori?
byankabya99: Cu :))
artur99: Exista o limita de timp?
byankabya99: Nu

Răspunsuri la întrebare

Răspuns de AnonimNBI
0
#include <cstdio>

using namespace std;

int v[2000005];

int main() {
freopen("unice1.in","r",stdin);
freopen("unice1.out","w",stdout);
int n,x,rasp = 0;
for(int i = 1;i <= n; ++ i) {
scanf("%d",&x);
++v[x+1000000];
}
for(int i = 0; i <= 2000003;++i)
if(v[i] == 1)
++rasp;
printf("%d",rasp);
}

AnonimNBI: scz nu stiu C
Răspuns de artur99
7
#include <fstream>
using namespace std;
int main(){
    ifstream f("unice1.in");
    ofstream g("unice1.out");
    int n;
    f>>n;
    int v[n], c[n], k=0, i, j, fl;
    for(i=0;i<n;i++){
        f>>v[i];
        fl=0;
        for(j=i+1;j<n;j++)
            if(v[i]==v[j]) fl++;
        if(!fl){
            c[k]=v[i];
            k++;
        }
    }
    g<<k;
}
Alte întrebări interesante