Введение
В этом лабораторном задании мы напишем программу на C++, которая найдет строку в массиве, содержащую наибольшее количество четных чисел. Будем использовать двухмерный массив.
💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал
В этом лабораторном задании мы напишем программу на C++, которая найдет строку в массиве, содержащую наибольшее количество четных чисел. Будем использовать двухмерный массив.
Мы создадим новый файл с именем main.cpp
в директории ~/project
с помощью следующей команды:
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;
}
В этом практическом занятии мы научились реализовывать программу на C++, которая находит строку в двумерном массиве, содержащую наибольшее количество четных чисел. Мы добились этого, создав набор переменных и используя циклы для перебора элементов массива. Мы использовали условные операторы для вывода результатов программы.