Memorizzare campo vector di una struct

di il
1 risposte

Memorizzare campo vector di una struct

Salve a tutti,
ho un problema nel memorizare un vettore di struct.
la struct in questione è:

#include <iostream>
int main()
{
struct Concorrenti{
	int ID;
	int arrivo;
	vector<int> classifiche;
	}
Ho in input come prima riga due numeri N e C.
N sarebbe il numero di concorrenti da inserire, mentre C è il numero di classifiche a cui ogni concorrente partecipa.
Per memorizzare l'input, ho scritto

#include <iostream>
int main()
{
int N,C;
	cin>>N>>C;
	vector<Concorrente> v;
	Concorrente a;
	for(int i=0; i<N; i++)
	{
		int id,temp;
		vector<int> classi;
		cin>>id>>temp;
		a.ID=id;
		a.tempo=temp;
	}
}
Adesso non so come memorizzare il vettore, perchè non so a priori il numero degli elementi.
So che al massimo sono C ma possono anche essere di meno.
Un esempio di input è il seguente:
4 3
99 1000 0
46 400 0 1
26 2000 1 2
93 60 1

Grazie a chi mi aiuterà

1 Risposte

  • Re: Memorizzare campo vector di una struct

    Usa push_back()
    
          vector<int> classi; // ??
          ...
          a.ID=id;
          a.tempo=temp;
          v.push_back(a);
    
    il numero di elementi inseriti poi lo ricavi con v.size();
Devi accedere o registrarti per scrivere nel forum
1 risposte