👤

am codul unei probleme care trebuie sa afiseze elementele care apar o singura data in vector in ordine crescatoare. Insa ceva nu merge bine.
#include<fstream>#include<iostream>using namespace std;ifstream fin("42.in");int n, m, i, a[100002], b[100002], j, stop, aux;int main(){    fin>>n;    m=0;    for(i=1;i<=n;i++)        fin>>a[i];    for(i=1;i<n;i++)    {        for(j=i+1;j<=n;j++)        {            if(a[i]==a[j])                stop=1;        }        if(stop==0) b[++m]=a[i];    }    for(i=1;i<m;i++)        for(j=i+1;j<=m;j++)    {        if(b[i]>b[j])        {            aux=b[i];            b[i]=b[j];            b[j]=aux;        }    }    for(i=1;i<=m;i++)        cout<<b[i]<<" ";    fin.close();    return 0;}


Răspuns :

#include<fstream>#include<iostream>using namespace std;ifstream fin("ksir.in");int n, m, i, a[100002], b[100002], j, stop, aux;int main(){        fin>>n;        m=0;        for(i=1;i<=n;i++)            fin>>a[i];        for(i=1;i<n;i++)        {            stop=0; // 0 - daca nu se repeta            for(j=1;j<=n;j++)                if(a[i]==a[j]&&i!=j)                    stop=1; // 1 - cand se repeta            if(stop==0)                b[++m]=a[i];        }        for(i=1;i<m;i++)            for(j=i+1;j<=m;j++)            {                if(b[i]>b[j])                {                    aux=b[i];                    b[i]=b[j];                    b[j]=aux;                }            }        for(i=1;i<=m;i++)            cout<<b[i]<<" ";        fin.close();        return 0;}