여덟시
58
2020-11-11 11:21:28
2
166

C++ 함수 배열 문제


for ( i = 1; i < NoOfData + 1; i++)
 {
  intDataA[i] = rand() + 10000;
  printf("%d ", intDataA[i]);
  printf("%d \n", intDataA[NoOfData-i]);
 }

이런식으로 출력하는 함수를 만들었는데

앞에서나오는 출력값이랑 거꾸로 출력값이랑 같을줄 알았는데 0이 왜 뜨는지 궁금합니다

0
  • 답변 2

  • 파랭이
    203
    2020-11-11 11:39:55

    입력되지도 않은 뒤쪽 index의 데이터를 출력하니 0이겠지요..

    예로 NoOfData = 10이고, 처음 반복  i = 1 일 때

    입력은 intDataA[1] 에 처음으로 값이 들어가는데 그 순간 intDataA[9] 값이 출력을 하려해서 그렇습니다.


    원하는 목적이 무엇인지 모르겠으나, 

    다 돌려서 입력후에 다시 for문 만들어서 출력하는게 맞을 듯요..

  • 여덟시
    58
    2020-11-11 11:47:54


    for (int i = 1; i < NoOfData + 1; i++)
     {
      intDataA[i] = rand() + 10000;
      printf("%d ", intDataA[i]);
     }
     printf("\n");
    
    
    
    
     for (int i = NoOfData; i > 0; i--)
     {
      printf("%d ", intDataA[i]);
     }
    for (int i = 1; i < NoOfData + 1; i++)
     {
      intDataA[i] = rand() + 10000;
      printf("%d ", intDataA[i]);
     }
     printf("\n");
    
    
    
    
     for (int i = NoOfData; i > 0; i--)
     {
      printf("%d ", intDataA[i]);
     }
    
    

    저 사진처럼 값을 만들어 보려고 합니다..

  • 로그인을 하시면 답변을 등록할 수 있습니다.