Error

배열 요소 참조

배열의 유용성 대부분은 해당 요소에 개별적으로 액세스할 수 있다는 사실에서 비롯됩니다.
이렇게 하는 방법은 색인을 사용하여 요소에 번호를 매기는 것입니다.

기억하세요!
C에서 배열의 번호 매기기는 0부터 시작합니다.

(필수 사항입니다. 처음부터 시작해야 합니다. 기억해야 할 특히 중요합니다.)

배열 A에 액세스하는 예: <예비> x = (A[3] + 5)*A[1]; // A[3]과 A[1]의 값을 읽는다. A[0] = x + 6; // A[0]에 새 값 쓰기 배열 요소 작업을 위한 프로그램을 분석해 봅시다. <예비> #include <iostream> 네임스페이스 표준 사용; 기본() { 정수 i=1, A[5]; A[0] = 23; //배열의 5개 요소 각각에 대해(0에서 4까지의 인덱스) A[1] = 12; // 특정 값 쓰기 A[2] = 7; A[3] = 43; A[4] = 51; A[2] = A[i] + 2*A[i-1] + A[2*i]; // 인덱스가 2인 요소의 값을 표현식의 결과로 변경 //i=1이기 때문에 변수 i의 값을 우리가 얻는 표현식으로 대체합니다. //다음 식 A[2] = A[i] + 2*A[0] + A[2]; cout << A[2]+A[4]; } 이 프로그램의 실행 결과 116 과 같은 인덱스 2를 가진 배열 요소의 값이 화면에 나타납니다. 예에서 볼 수 있듯이 우리는 배열의 모든 요소에 액세스할 수 있습니다. 정렬. 또한 다양한 공식을 사용하여 필요한 요소 수를 계산합니다(예: 프로그램 A[i-1] 또는 A[2*i]에서와 같이 이러한 경우 요소의 인덱스가 계산되고 i의 값.)

예제 프로그램을 살펴보겠습니다 <예비> #include<iostream> 네임스페이스 표준 사용; 기본() { const int N = 5; 정수 A[N]; x = 1; cout << A[x-3]; //A[-2] 요소에 대한 참조 A[x+4]=A[x]+A[2*(x+1)]; //x를 식과 계산으로 대체하면 다음 줄을 얻습니다. A[5] = A[1]+A[ 4]; ... } 왜냐하면 배열은 5개의 요소로 선언됩니다. 즉, 요소는0에서 4까지 번호가 매겨집니다. 프로그램이 존재하지 않는 요소에 액세스하는 것을 볼 수 있습니다. A[-2] 및 A[5]
프로그램이 배열의 범위를 넘어간 것으로 나타났습니다.

범위를 벗어난 배열이 배열에 존재하지 않는 인덱스를 가진 요소에 액세스하고 있습니다.

이러한 경우 프로그램은 일반적으로 런타임 오류
와 함께 충돌합니다.
우리 스스로 배열 요소로 작업해 봅시다. 작업 완료
 

배열 요소 반복
배열로 작업할 때 일반적으로 배열의 모든 요소를 ​​한 번에 작업해야 합니다.
 
요소에 대한 반복은 배열의 모든 요소를 ​​통과하고 각 요소에 대해 동일한 작업을 수행하는 것으로 구성됩니다.< 코드>

이를 위해 0에서 N-1(N 배열 요소의 수)으로 변경되는 변수가 있는 루프가 가장 자주 사용됩니다. ). ... 상수 정수 N = 10; 정수 A[N]; for (i = 0; i < N; i++) { // 요소 A[i]에 대한 작업 } ... 지정된 루프에서 변수 i0, 1, 2, ..., N-1 값을 갖습니다.  즉, 루프의 각 단계에서 인덱스가 i인 특정 배열 요소에 액세스합니다.
따라서 A[i] 배열의 한 요소로 수행해야 하는 작업을 기록하고 이러한 작업을 루프 안에 배치하는 것으로 충분합니다.
 
과제
첫 번째 N 자연수로 배열을 채웁니다. 저것들. 프로그램이 끝날 때 배열의 요소는 같아야 합니다: A[0] = 1;  A[1] = 2; A[2] = 3; ... A[N-1] = N;
패턴을 보는 것은 쉽습니다: 배열 요소의 값은 요소의 인덱스보다 1만큼 커야 합니다.
주기는 다음과 같습니다. for (i=0; i