Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n, num, i, j, v[1000], k=0, repeta;
cin >> n;
cin >> num;
v[k++]=num;
for (i=1; i<n; ++i)
{
cin >> num;
repeta=0;
for (j=0; j<k; ++j)
{
if (num==v[j])
{
repeta=1;
break;
}
}
if (!repeta) v[k++]=num;
}
for (i=0; i<k; ++i)
cout << v[i] << " ";
}
Explicație:
un singur vector care se completează la citirea datelor cu numere ce nu se conţin în vectorul ce se completează
Răspuns:
#include<iostream>
#define NMax 1000
using namespace std;
int v[NMax+1],n,i,j;
int main()
{
cin>>n;
for(i=1; i<=n; i++)
cin>>v[i];///citire
for(i=1; i<n; i++) /// accesez elementele vectorului pana la penultimul
for(j=i+1; j<=n; j++) ///caut un element = v[i]
if(v[i]==v[j]) ///daca am mai gasit un element = v[i]
{
for(int k=j+1; k<=n; k++)
v[k-1]=v[k]; ///sterg elementul
n--,j--;
}
for(i=1; i<=n; i++)
cout<<v[i]<<" ";
return 0;
}
Explicație:
Daca citirea o faci incepand cu 1 numarul de elemente ale vectorului trebuie sa fie crescut cu 1.Caught fatal signal 11 inseamna cand accesezi un element care nu exista in vector .de exemplu v={1,3,5,1054233,4};cand faci f[v[4]]++ adica f[105423]++ fr[105423] nu exista sau cand depasesti meoria alocata varianta ta are 2 greseli :
-solutia nu este optima in privirea memoriei;
- nu ai pus corect numarul de elemente ale vectorilor
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.