1개의 댓글이 있습니다.
-
-
Kureyo -
- 코드 정리 부탁드립니다(...) 편집에서 아래쪽에 보시면 코드를 적는 방법에 대한 설명이 있습니다.
- 저 문제를 푼건 아니지만 길이의 입력이 40만자라고 가정하면 char배열을 40만으로 잡으면 안될거같습니다. 자주 하는 실수 모음페이지를 참고하세요.
11년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
gamzachip
http://algospot.com/judge/problem/read/NAMING
문제에서
RTE (SIGABRT: program aborted, probably assertion fail)
오류가 뜹니다
대부분의 런타임 오류는 메모리 관련해서 발생하더라구요
그래서 최대한 고칠수 있을만큼 고쳐봤지만 찾을수가 없었습니다 ㅠㅠ
소스를 평소 쓰던 레퍼를 이용해 만들고, 헤더파일과 c파일 내용을 조잡하게 이어붙인채로 제출을 해서 많이 보기 힘드시겟지만 일단 정리를 해보긴 했습니다;;;
#include stdio.h
#include stdlib.h
#include string.h
#define TRUE 1
#define FALSE 0
typedef struct ArrayQueueNodeType
{
char data;
}ArrayQueueNode;
typedef struct ArrayQueueType
{
int maxElementCount;
int currentElementCount;
ArrayQueueNode* pElement;
}ArrayQueue;
ArrayQueue* createArrayQueue(int _maxElementCount);
int pushAQ(ArrayQueue* _pQueue, ArrayQueueNode _element);
ArrayQueueNode* popAQ(ArrayQueue* _pQueue);
ArrayQueueNode* peekAQ(ArrayQueue* _pQueue);
void deleteArrayQueue(ArrayQueue* _pQueue);
int isArrayQueueFull(ArrayQueue* _pQueue);
int isArrayQueueEmpty(ArrayQueue* _pQueue);
typedef struct ArrayStackNodeType{
char data;
} ArrayStackNode;
typedef struct ArrayStackType{
int maxElementCount;
int currentElementCount;
ArrayStackNode* pElement;
} ArrayStack;
ArrayStack* createArrayStack(int maxElementCount);
int pushAS(ArrayStack* pStack, ArrayStackNode element);
ArrayStackNode* popAS(ArrayStack* pStack);
ArrayStackNode* peekAS(ArrayStack* pStack);
void deleteArrayStack(ArrayStack* pStack);
int isArrayStackFull(ArrayStack* pStack);
int isArrayStackEmpty(ArrayStack* pStack);
char* reverce(char* _str);
char name[400000];
char temp[400000];
int main()
{
}
ArrayQueue* createArrayQueue(int _maxElementCount)
{
ArrayQueue* pReturn=NULL;
int i=0;
}
int pushAQ(ArrayQueue* _pQueue, ArrayQueueNode _element)
{
int Return;
}
ArrayQueueNode* popAQ(ArrayQueue* _pQueue)
{
ArrayQueueNode* Return=NULL;
int i=0;
}
ArrayQueueNode* peekAQ(ArrayQueue* _pQueue)
{
ArrayQueueNode* Return;
int i=0;
}
void deleteArrayQueue(ArrayQueue* _pQueue)
{
if(_pQueue != NULL)
{
if(_pQueue ->pElement != NULL)
{
free(_pQueue ->pElement);
}
free(_pQueue);
}
}
int isArrayQueueFull(ArrayQueue* _pQueue)
{
int Return = FALSE;
}
int isArrayQueueEmpty(ArrayQueue* _pQueue)
{
int Return = FALSE;
if(_pQueue != NULL)
{
if(_pQueue->currentElementCount == 0)
{
Return = TRUE;
}
}
}
ArrayStack* createArrayStack(int size)
{
ArrayStack* pReturn = NULL;
int i = 0;
}
int pushAS(ArrayStack* pStack, ArrayStackNode element)
{
int ret = FALSE;
}
ArrayStackNode* popAS(ArrayStack* pStack)
{
ArrayStackNode* pReturn = NULL;
if(pStack !=NULL)
{
if(isArrayStackEmpty(pStack)==FALSE)
{
pReturn = (ArrayStackNode*)malloc(sizeof(ArrayStackNode));
if(pReturn != NULL)
{
*pReturn = pStack -> pElement[pStack ->currentElementCount -1];
pStack->currentElementCount--;
}
else
{
printf("오류, 메모리 할당. popAS()\n");
}
}
}
return pReturn;
}
ArrayStackNode* peekAS(ArrayStack* pStack)
{
ArrayStackNode* pReturn = NULL;
if(pStack != NULL)
{
if(isArrayStackEmpty(pStack) == FALSE)
{
pReturn = &(pStack ->pElement[pStack ->currentElementCount -1]);
}
}
return pReturn;
}
void deleteArrayStack(ArrayStack* pStack)
{
if(pStack != NULL)
{
if(pStack ->pElement != NULL)
{
free(pStack ->pElement);
}
free(pStack);
}
}
int isArrayStackFull(ArrayStack* pStack)
{
int ret = FALSE;
}
int isArrayStackEmpty(ArrayStack* pStack)
{
int ret = FALSE;
if(pStack != NULL)
{
if(pStack->currentElementCount == 0)
{
ret = TRUE;
}
}
}
char* reverce(char* _str)
{
char temp;
int i=0, length = strlen(_str);
}
11년 전