Buongiorno, esattamente cosa bisogna sottoporre con il problema “tieni aggiornato il catalogo”???
Se non l’hai già letto, ti consiglio di guardarti la guida su come si usano i grader.
In ogni caso, guardando nei dettagli di una sottoposizione, puoi vedere l’esito della compilazione con gli eventuali errori.
Mi da compilazione fallita e non capisco gli errori
#include <iostream>
#include <vector>
using namespace std;
vector <int> V;
void aggiungi(long long int id) {
V.push_back(id);
}
void togli(long long int id) {
int x;
for (int i=0;i<V.size();i++){
if (V[i]==id){
V.erase(V.begin()+i);
return;
}
}
}
vector <int>::iterator it;
for ( it = V.begin() ; it != V.end(); ++it){
if (*it==id){
b=b+1;
}
}
return b;
}
int main(){
long long int id;
int n;
int b;
char x;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
cin>>n;
b=0;
for (int i=0;i<n;i++){
cin>>x>>id;
if (x =='a'){
aggiungi(id);
}
if (x=='t'){
togli(id);
}
if (x=='c'){
cout << conta(id) << '\n';
}
}
return 0;
}
Manca il tipo di dato usato nel vettore V quando lo dichiari → vector <int> V
?
Nono quello c’è solo che nel messaggio non me lo copiava
Gli errori di GCC sono a volte un po’ complicati da comprendere ma una volta che ci fai l’abitudine sono abbastanza semplici da capire:
-
se l’errore è simile a:
catalogo.cpp:2:9: error: ‘V’ was not declared in this scope 2 | V.push_back(id);
allora vuol dire che non hai definito la variabile
V
e devi quindi aggiungere la definizione:vector<int> V
. -
se l’errore è simile a:
catalogo.cpp:1:1: error: ‘vector’ does not name a type 1 | vector <int> V;
allora vuol dire che il compilatore non trova nessun tipo di variabile che si chiama
vector
, puoi risolvere includendo l’header con la definizione divector
e specificando il namespace giusto:#include <vector> using namespace std;
-
se l’errore è simile a:
/usr/bin/ld: /tmp/ccCqpS9m.o: in function `main': catalogo.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccHKG1Ak.o:grader.cpp: (.text.startup+0x0): first defined here
allora vuol dire che non hai letto la guida su come si usano i grader.
Inoltre all’intero della guida su come si usano i grader puoi anche trovare le istruzioni su come si compilano i grader in locale, in modo da assicurarti che ciò che mandi compilerà con successo.