0
votes

Ne peut pas donner l'entrée nécessaire au programme C ++ dans la console Windows

J'essaie de résoudre UC Problème Set: Appartements , qui ont une entrée comme Ceci en 3 lignes, mais je ne parviens pas à traiter / passer les trois lignes du terminal Windows. J'utilise l'éditeur de Geany et la compilation réussit.

10 10 0
37 62 56 69 34 46 10 86 16 49


------------------
(program exited with code: -1073741819)


2 commentaires

Sangez-le dans un débogueur et découvrez ce qui se passe.


-1073741819 est identique à celui 0xc0000005 et signifie une violation d'accès sur Windows.


3 Réponses :


3
votes

Vous devez allouer des éléments avant d'y accéder ou ajouter des éléments via push_back .

Pour allouer des éléments, en utilisant redimension () est un bon sens. xxx


0 commentaires

0
votes

Vous avez oublié de dire à vos vecteurs combien de temps ils devraient être. En conséquence, vous lisez des données dans des variables non existantes.


0 commentaires

0
votes

Au fur et à mesure de la réponse de Mikecat, si vous retardez la déclaration de vos vecteurs jusqu'à ce que vous sachiez à quel point ils doivent être nombreux, vous pouvez les créer à la bonne taille.

cin>>n>>m>>k;
vector<int> v1(n); // v1 has size n
vector<int> v2(m); // v2 has size m
vector<bool> allotted(n, false); // allotted has size n


0 commentaires