소개
이 랩에서는 2 차원 배열을 사용하여 배열에서 짝수의 개수가 가장 많은 행을 찾는 C++ 프로그램을 작성할 것입니다.
이 랩에서는 2 차원 배열을 사용하여 배열에서 짝수의 개수가 가장 많은 행을 찾는 C++ 프로그램을 작성할 것입니다.
다음 명령을 사용하여 ~/project 디렉토리에 main.cpp라는 새 파일을 생성합니다.
touch ~/project/main.cpp
a, n, l, i, j, 그리고 count를 포함하는 필요한 변수를 선언하는 것으로 시작합니다.
int a[10][10], n, l, i, j, count = 0;
다음으로, 사용자로부터 행렬의 크기와 행 번호를 입력받습니다. cin 함수를 사용하여 사용자 입력 값을 받습니다.
cout << "Enter matrix size(l * l): ";
cin >> l;
cout << "Enter row number of matrix: ";
cin >> n;
n이 행렬 크기의 제한 내에 있는지 확인하여 사용자 입력의 유효성을 검사합니다. 그렇지 않은 경우, 오류 메시지를 표시하고 프로그램을 종료합니다.
if (n < 0 || n > l) {
cout << "Error: Row exceeds matrix size. Please enter a value > 0 and less than or equal to the size of matrix." << endl;
exit(0);
}
중첩된 for 루프를 사용하여 사용자로부터 행렬 값을 입력받습니다.
cout << "Enter the matrix values: " << endl;
for (i = 1; i <= l; i++) {
for (j = 1; j <= l; j++) {
cin >> a[i][j];
}
}
for 루프를 사용하여 행을 반복하고 짝수의 개수를 계산합니다. 현재 숫자가 짝수이면 count 변수를 증가시킵니다.
for (i = 1; i <= l; i++) {
if (a[n][i] % 2 == 0) {
count++;
}
}
해당 행의 값과 짝수의 개수를 출력합니다.
cout << "\nRow is given below:\n";
for (i = 1; i <= l; i++) {
cout << a[n][i] << " ";
}
cout << "\n\nNo. of even numbers in row is: " << count << endl;
g++ 컴파일러를 사용하여 프로그램을 컴파일하고 터미널에서 실행합니다.
g++ main.cpp -o main
./main
#include<iostream>
using namespace std;
int main() {
int a[10][10], n, l, i, j, count = 0;
cout << "Enter matrix size(l * l): ";
cin >> l;
cout << "Enter row number of matrix: ";
cin >> n;
if (n < 0 || n > l) {
cout << "Error: Row exceeds matrix size. Please enter a value > 0 and less than or equal to the size of matrix." << endl;
exit(0);
}
cout << "Enter the matrix values: " << endl;
for (i = 1; i <= l; i++) {
for (j = 1; j <= l; j++) {
cin >> a[i][j];
}
}
for (i = 1; i <= l; i++) {
if (a[n][i] % 2 == 0) {
count++;
}
}
cout << "\nRow is given below:\n";
for (i = 1; i <= l; i++) {
cout << a[n][i] << " ";
}
cout << "\n\nNo. of even numbers in row is: " << count << endl;
return 0;
}
이번 랩에서는 2 차원 배열에서 짝수가 가장 많은 행을 찾는 C++ 프로그램을 구현하는 방법을 배웠습니다. 변수를 설정하고 루프를 사용하여 배열을 반복함으로써 이를 달성했습니다. 조건문을 사용하여 프로그램의 결과를 출력했습니다.