/*
2. 사용자로부터 계속 정수를 입력받는다.
-1이 되면 출력한다.
default로 5개를 동적할당하고
5개를 넘어가면 +5씩 동적할당을 증가시킨다.
5 -> 10 -> 15
반드시 new 연산자를 사용할 것
*/
#include <iostream>
using namespace std;
void main()
{
int cnt = 1;//몇번 나갔나
int*num = new int [5]();
int*ptr = (int*)malloc(sizeof(int)*5);
//int*pptr = ptr;
int i = 0;
int j;
while(1)
{
cout<<"입력";
cin>>num[i];
*(ptr+i) = num[i];
if(num[i] == -1)
break;
++i;
if(i !=0 && i%5 ==0)
{
++cnt;
delete[] num;
int *num = new int[cnt*5]();
for(j = 0 ; j<i ; j++)
num[j] = *(ptr+j);
ptr = (int*)realloc(ptr,sizeof(int)*5*cnt);
}
}
i = 0;
while(true)
{
if( num[i] == -1)
break;
cout <<" "<<num[i];
i++;
}
free(ptr);
delete[] num;
}
맞게 한것 같은데 왜 오류나는지 모르겠음....
일단...
void main() -> int main(int argc, char** argv)
그리고 제일 마지막에 return 0;
을 추가해서 해보세요. 그리고 오류 메시지도 같이 올려주세요.
너 이거 과제지
도와줄려다가 과제같아서 말았음 코드 첨부터 다시짜보셈
학교과제 아님..