infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Vlad Eugen Dornescu din Martie 31, 2010, 15:09:00



Titlul: intrebare STL
Scris de: Vlad Eugen Dornescu din Martie 31, 2010, 15:09:00
Cod:
for (int i=1;i<=a.size();i++)
     for (int j=i+1;j<=a.size();j++)
     {
          int middle = a[i]+a[j];
  cnt.at(middle) = cnt.at(middle)+1; //primesc eroare cu codul 3 pe chesti asta
          if (middle == a[i]*2)
  result--;     
     }

As dori sa aflu cum pot face modificari ( operatii de adunare, scadere, impartire, inmultire) intr-un vector din STL.Cel putin, pe site-ul oficial n-am gasit nimic desi am cautat.Multumesc!


Titlul: Răspuns: intrebare STL
Scris de: Simoiu Robert din Martie 31, 2010, 15:14:37
Sper sa te ajute acest (http://www.cplusplus.com/reference/stl/vector/) link.


Titlul: Răspuns: intrebare STL
Scris de: Vlad Eugen Dornescu din Martie 31, 2010, 15:19:29
Sper sa te ajute acest (http://www.cplusplus.com/reference/stl/vector/) link.

Asta spuneam, am cautat pe site-ul lor dar n-am gasit chestiile astea cu modificari pe vectori.
Mersi oricum.


Titlul: Răspuns: intrebare STL
Scris de: alexandru din Martie 31, 2010, 15:23:08
De ce nu folosesti cnt[middle]+=1; ? din cate stiu .at(i) returneaza doar valoarea aflata pe pozitia i


Titlul: Răspuns: intrebare STL
Scris de: Vlad Eugen Dornescu din Martie 31, 2010, 15:25:28
De ce nu folosesti cnt[middle]+=1; ? din cate stiu .at(i) returneaza doar valoarea aflata pe pozitia i

Am incercat in toate felurile inainte.Vad ca nu merge nicicum.
Sa fie oare de la declarari?

Cod:
vector<int> a;
vector<int> cnt;


Titlul: Răspuns: intrebare STL
Scris de: alexandru din Martie 31, 2010, 15:36:11
Am incercat in toate felurile inainte.Vad ca nu merge nicicum.
Sa fie oare de la declarari?
Cod:
vector<int> a;
vector<int> cnt;
declaratiile sunt ok, dar ai alocat memorie ? ( cnt.resize( cat ) , a.resize( cat ) )


Titlul: Răspuns: intrebare STL
Scris de: Vlad Eugen Dornescu din Martie 31, 2010, 15:51:05
Acum nu mai primesc nicio eroare (return code 0).Acum observ, push_back nici macar nu merge si n-am habar ce ar putea fi.Toate valorile le am 0 in vectori, desi nu e prima oara cand lucrez cu <vector>.

Cod:
for (i=0;i<n;i++)
{
scanf("%d", &x);
a.push_back(x);
}
Numele si declararile sunt de acelasi tip.Numele fisierului e bun.Nu inteleg ce ar putea avea.
Citeste de n ori si totul ramane 0 in vectorul meu.


Titlul: Răspuns: intrebare STL
Scris de: Simoiu Robert din Martie 31, 2010, 16:09:31
Eu am facut si afiseaza bine, uite aici codul:
Cod:
int main()
{
    f >> N;
    V.push_back(0);
    for (i=1;i<=N;i++)
    {
        f >> x;
        V.push_back(x);
    }
    for (i=1;i<=N;i++) g << V[i] << " ";
    return 0;
}
Am pus V.push_back(0) pentru ca V[0] = 0, si pentru ca elementele citite sa inceapa de la 1, nu de la 0.


Titlul: Răspuns: intrebare STL
Scris de: Vlad Eugen Dornescu din Martie 31, 2010, 16:14:21
Nu merge nicicum.Fara sa fac resize primesc segm.fault, si altfel nu citeste bine. :'(


Titlul: Răspuns: intrebare STL
Scris de: alexandru din Martie 31, 2010, 16:18:46
Nu merge nicicum.Fara sa fac resize primesc segm.fault, si altfel nu citeste bine. :'(
Poti posta o bucata de cod mai mare ? Formatul fisierului de intrare e ok ?
LE: m-am uitat din nou la primul post n-ar fi trebuit sa pornesti de la i=0 si pana la i < a.size() ? daca n-ai facut ce a zis @Robert mai sus.


Titlul: Răspuns: intrebare STL
Scris de: Vlad Eugen Dornescu din Martie 31, 2010, 16:21:12
Ti-am trimis mesaj privat acum o ora si nu mi-ai raspuns.


Titlul: Răspuns: intrebare STL
Scris de: alexandru din Martie 31, 2010, 16:25:57
Ti-am trimis mesaj privat acum o ora si nu mi-ai raspuns.
N-am primit ...