-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
vector를 사용하여 cin 으로 입력값을 받을려면
21.11.18 13:40 작성 조회수 2.4k
0
안녕하세요
독학으로 코딩을 배우려고 하니 어렵네요
간단하게 cin으로 학생숫자를 입력받고 숫자만큼 점수를 배열에 저장할려고 하는데 아래와 같이 작성시 런타임에러가 발생하네요
혹시 이유를 알 수 있을까요?
#include <iostream> #include <vector> using namespace std; int main() { int a, numStudent; vector<int> score; cin >> numStudent; for (int j = 0; j < numStudent; j++) { //값 입력 cin >> a; score[j] = a; } for (int j = 0; j < numStudent; j++) { //값 출력 cout << score[j] << endl; } }
답변을 작성해보세요.
0
안소
2021.11.18
안녕하세요!
score 라는 벡터가 사이즈가 0 입니다. vector<int> score; 이건 선언만 하셨을 뿐이지 아직 공간이 없는 벡터인거에요. 사이즈는 지정 안해주셨습니다.
그런 상태에서 score[j] 이런식으로 없는 공간을 접근하려고해서 에러가난 것입니다.
vector<int> score(10) 이런식으로 사이즈 지정을 선언과 동시에 해주거나
vector<int> score; 이렇게 하되 scroe.push_back(a); 벡터 뒤에 공간 만들어서 삽입하는 push_back 함수 쓰셔야해요.
(그리고 코드는 코드 블럭에 써주시길 부탁드립니다. ^_^ 보기가 힘들어용 ㅠ_ㅠ)
답변 2