Informatică, întrebare adresată de Florian32, 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



Exemplu:

unice1.in
7
4 -2 3 4
5 -2 4

unice1.out
2

Explicație:
Valorile 3 şi 5 apar o singură dată.

Răspunsuri la întrebare

Răspuns de blindseeker90
4
#include <iostream>
#include <fstream>
using namespace std;

int este_in_sir(int v[],int k,int x){

int i,este_in_sir=0;
if(k==0){
return 0;
}
for(i=0;i<k;i++){
if(v[i]==x&&este_in_sir==1){
este_in_sir=2;
break;
}
else if(v[i]==x&&este_in_sir==0){
este_in_sir=1;
}
}
return este_in_sir;
}
int main(){
ifstream ifu("unice1.in");
ofstream ofu("unice1.out");
int n,v[1000],x,k=1,nr=0;
ifu>>n;
while(n>0){
ifu>>v[k];
x=v[k];
if(este_in_sir(v,k,x)==0){
nr++;
}
else if(este_in_sir(v,k,x)==1){
nr--;
}
k++;
n--;
}
ofu<<nr<<endl;
return 0;
}

ionutg38: #include <iostream>
#include <fstream>
using namespace std;

ifstream f("unice1.in");
ofstream g("unice1.out");

int main()
{
double v[1000],n,k,p=0;
int i,j;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
{
k=0;
for(j=1;j<=n;j++)
if(v[i]==v[j])
k++;
if(k==1)
p++;
}
g<<p;
return 0;
}
Alte întrebări interesante