WorksheetsMảng tin học
Total questions: 34
Worksheet time: 17mins
Thuật toán nào đúng để tính tích các phần tử có giá trị là số hoàn hảo trong mảng ‘arr’ có 8 phần tử?
int tich=1;
for(int i=0; i<8; i++)
{
int tonghh=0;
for(int j=1; j<=arr[i]/2; j++)
if(arr[i]%j!=0)
tonghh=tonghh+j;
if(tonghh ==arr[i])
tich*=arr[i];
}
int tich=0;
for(int i=0; i<8; i++)
{
int tonghh=0;
for(int j=1; j<=arr[i]/2; j++)
if(arr[i]%j==0)
tonghh=tonghh+j;
if(tonghh ==arr[i])
tich*=arr[i];
}
int tich=1;
for(int i=0; i<8; i++)
{
int tonghh=1;
for(int j=1; j<=arr[i]/2; j++)
if(arr[i]%j==0)
tonghh=tonghh+j;
if(tonghh ==arr[i])
tich*=arr[i];
}
int tich=1;
for(int i=0; i<8; i++)
{
int tonghh=0;
for(int j=1; j<=arr[i]/2; j++)
if(arr[i]%j==0)
tonghh=tonghh+j;
if(tonghh ==arr[i])
tich*=arr[i];
}
Thuật toán nào đúng để đếm các phần tử có giá trị là số hoàn hảo trong mảng ‘arr’ có 6 phần tử?
int demhh=0;
for(int i=0; i<6; i++)
{
int tonghh=0;
for(int j=1; j<=arr[i]/2; j++)
if(arr[i]%j!=0)
tonghh=tonghh+j;
if(tonghh ==arr[i])
demhh++;
}
int demhh=0;
for(int i=0; i<=6; i++)
{
int tonghh=0;
for(int j=1; j<arr[i]/2; j++)
if(arr[i]%j==0)
tonghh=tonghh+j;
if(tonghh ==arr[i])
demhh++;
}
int demhh=0;
for(int i=0; i<6; i++)
{
int tonghh=0;
for(int j=1; j<=arr[i]/2; j++)
if(arr[i]%j==0)
tonghh=tonghh+j;
if(tonghh ==arr[i])
demhh++;
}
int demhh=0;
for(int i=0; i<6; i++)
{
int tonghh=0;
for(int j=1; j<=arr[i]/2; j++)
if(arr[i]%j==0)
tonghh=tonghh+j;
if(tonghh =arr[i])
demhh++;
}
Thuật toán nào đúng để hiển thị các phần tử có giá trị là số nguyên tố trong mảng ‘arr’ có 6 phần tử?
for(int i=0; i<6; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem=0)
cout<<arr[i]<<" ";
}
for(int i=0; i<6; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==2)
cout<<arr[i]<<" ";
}
for(int i=0; i<6; i++)
{
int dem=2;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
cout<<arr[i]<<" ";
}
for(int i=0; i<6; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
cout<<arr[i]<<" ";
}
Thuật toán nào đúng để tính tích các phần tử có giá trị là số nguyên tố trong mảng ‘arr’ có 7 phần tử?
int tichnto=0;
for(int i=0; i<7; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
tichnto*=arr[i];
}
int tichnto=1;
for(int i=0; i<7; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
tichnto*=arr[i];
}
int tichnto=1;
for(int i=0; i<7; i++)
{
int dem=1;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
tichnto*=arr[i];
}
int tichnto=1;
for(int i=0; i<7; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j=0)
dem++;
if(dem==0)
tichnto*=arr[i];
}
Thuật toán nào đúng để tính tổng các phần tử có giá trị là số nguyên tố trong mảng ‘arr’ có 5 phần tử?
int tongnto=0;
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
tongnto+=arr[i];
}
int tongnto=0;
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==2)
tongnto+=arr[i];
}
int tongnto=1;
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
tongnto+=arr[i];
}
int tongnto=0;
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=abs(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
tongnto+=arr[i];
}
Thuật toán nào đúng để đếm số lượng các phần tử có giá trị là số nguyên tố trong mảng ‘arr’ có 5 phần tử?
int demnto=0;
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
demnto++;
}
int demnto=1;
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
demnto++;
}
int demnto=A[0];
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==0)
demnto++;
}
int demnto=0;
for(int i=0; i<5; i++)
{
int dem=0;
for(int j=2; j<=sqrt(arr[i]);j++)
if(arr[i]%j==0)
dem++;
if(dem==2)
demnto++;
}
Thuật toán nào đúng để sắp xếp mảng `arr` có 8 phần tử theo thứ tự giảm dần bằng thuật toán sắp xếp chọn (Selection Sort)?
for (int i = 0; i < =7; i++)
{
int max_idx = 1;
for (int j = i + 1; j <= 8; j++)
if (arr[j] > arr[max_idx])
max_idx = j;
int temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
for (int i = 0; i < 8; i++)
{
int max_idx = 0;
for (int j = i + 1; j < 9; j++)
if (arr[j] > arr[max_idx])
max_idx = j;
int temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
for (int i = 0; i < 7; i++)
{
int max_idx = i;
for (int j = i + 1; j < 8; j++)
if (arr[j] > arr[max_idx])
max_idx = j;
int temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
for (int i = 0; i < 7; i++)
{
int max_idx = i;
for (int j = i + 1; j < 8; j++)
if (arr[j] < arr[max_idx])
max_idx = j;
int temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
Thuật toán nào đúng để sắp xếp mảng `arr` có 5 phần tử theo thứ tự giảm dần bằng thuật toán sắp xếp chọn (Selection Sort)?
for (int i = 0; i < 4; i++)
{
int max_idx = i;
for (int j = i + 1; j < 5; j++)
if (arr[j] > arr[max_idx])
max_idx = j;
int temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
for (int i = 0; i < 4; i++)
{
int max_idx = i;
for (int j = i + 1; j < 5; j++)
if (arr[j] < arr[max_idx])
max_idx = j;
int temp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
for (int i = 0; i < 4; i++)
{
int max_idx = i;
for (int j = i + 1; j < 5; j++)
if (arr[j] > arr[max_idx])
max_idx = i;
int temp = arr[j];
arr[i] = arr[max_idx];
arr[max_idx] = temp;
}
for (int i = 0; i < 4; i++)
{
int max_idx = 1;
for (int j = i + 1; j < 5; j++)
if (arr[j] > arr[max_idx])
max_idx = j;
int temp = arr[j];
arr[j] = arr[max_idx];
arr[max_idx] = temp;
}
Thuật toán nào đúng để sắp xếp mảng `arr` có 10 phần tử theo thứ tự tăng dần bằng thuật toán sắp xếp chọn (Selection Sort)?
for (int i = 0; i < 9; i++)
{
int min_idx = i;
for (int j = i + 1; j < 10; j++)
if (arr[j] > arr[min_idx])
min_idx = j;
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
for (int i = 0; i < 9; i++)
{
int min_idx = i;
for (int j = i + 1; j < 10; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
for (int i = 0; i < 9; i++)
{
int min_idx = i;
for (int j = i + 1; j < 10; j++)
if (arr[j] < arr[min_idx])
min_idx = i;
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
for (int i = 0; i < 9; i++)
{
int min_idx = i;
for (int j = i + 1; j < 10; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
int temp = arr[j];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
Thuật toán nào đúng để sắp xếp mảng `arr` có 7 phần tử theo thứ tự tăng dần bằng thuật toán sắp xếp chọn (Selection Sort)?
for (int i = 0; i < 6; i++)
{
int min_idx = i;
for (int j = i + 1; j < 7; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
for (int i = 0; i < 6; i++)
{
int min_idx = i;
for (int j = 1; j <= 7; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
for (int i = 1; i < 7; i++)
{
int min_idx = i;
for (int j = i + 1; j <= 7; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
for (int i = 0; i < 6; i++)
{
int min_idx = i;
for (int j = i-1; j <= 7; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
Câu lệnh nào sai khi khai báo mảng ‘arr’ có 5 phần tử?
int arr[] = {1, 2, 3, 4, 5};
int arr[5] = {1, 2, 3, 4, 5, 6};
int arr[5] = {1, 2, 3, 4, 5};
int arr[5] = {1, 2, 3, 4};
Câu nào đúng để hiện thị phần tử có giá trị nhỏ nhất và vị trí của nó trong mảng ‘arr’ 10 phần tử?
int index;
int min=arr[0];
for (int i = 0; i < 10; i++) {
if(arr[i]<min){min=arr[i];index=i;}
}
cout<<"Min:a["<<i<<"]="<<min;
int index;
int min=arr[0];
for (int i = 1; i < 10; i++) {
if(arr[i]<min){min=arr[i];index=i;}
}
cout<<"Min:a["<<index<<"]="<<min;
int index;
int min=arr[0];
for (int i = 0, i < 10, i++) {
if(arr[i]<min){min=arr[i];index=i;}
}
cout<<"Min:a["<<min<<"]="<<index;
int index;
int min=arr[0];
for (int i = 0; i < 10; i++) {
if(arr[i]>min){min=arr[i];index=i;}
}
cout<<"Min:a["<<index<<"]="<<min;
Câu nào đúng để hiển thị phần tử có giá trị lớn nhất và vị trí của nó trong mảng ‘arr’ 10 phần tử?
int index;
int max=arr[0];
for (int i = 1; i < 10; i++) {
if(arr[i]>max){max=arr[i];index=i;}
}
cout<<"Max:a["<<index<<"]="<<max;
int index;
int max=arr[0];
for (int i = 0; i < =10; i++) {
if(arr[i]>max){max=arr[i];index=i;}
}
cout<<"Max:a["<<index<<"]="<<max;
int index;
int max=arr[0];
for (int i = 0; i < 10; i++) {
if(arr[i]<max)max=arr[i];index=i;
}
cout<<"Max:a["<<index<<"]="<<max;
int index;
int max=arr[1];
for (int i = 0; i < 10; i++) {
if(arr[i]>max){max=arr[i];index=i;}
}
cout<<"Max:a["<<i<<"]="<<max;
Câu nào đúng khi khởi tạo giá trị 0 cho phần tử ở vị trí chẵn và giá trị 1 cho phần tử ở vị trí lẻ trong mảng ‘arr’ có 10 phần tử?
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = i * 2;
}
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = i % 2;
}
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = 1; arr[i+1] = 0;
}
int arr[10];
for (int i = 1; i < 10; i++) {
arr[i] = i % 2;
}
Đoạn lệnh nào đúng để tìm vị trí của phần tử có giá trị lớn nhất trong mảng `arr` có 6 phần tử?
int max = arr[0];
int pos = 1;
for (int i = 1; i < 6; i++) {
if (arr[i] > max) {
max = arr[i];
pos = i;
}
}
int max = arr[1];
int pos = 0;
for (int i = 1; i < 6; i++) {
if (arr[i] > max) {
max = arr[i];
pos = i;
}
}
int max = arr[0];
int pos = 0;
for (int i = 0; i < =6; i++) {
if (arr[i] > max) {
max = arr[i];
pos = i;
}
}
int max = arr[0];
int pos = 0;
for (int i = 1; i < 6; i++) {
if (arr[i] > max) {
max = arr[i];
pos = i;
}
}
Đoạn lệnh nào đúng để tìm phần tử có giá trị lớn nhất trong mảng `arr` có 8 phần tử?
int max= arr[0];
for (int i = 0, i < 8, i++) {
if (arr[i] > max) {
max= arr[i];
}
}
int max= arr[0];
for (int i = 0; i < 8; i++) {
if (arr[i] < max) {
max= arr[i];
}
}
int max= arr[0];
for (int i = 1; i < 8; i++) {
if (arr[i] > max) {
max= arr[i];
}
}
int max= arr[1];
for (int i = 0; i <= 8; i++) {
if (arr[i] < max) {
max= arr[i];
}
}
Đoạn lệnh nào đúng để tìm phần tử có giá trị nhỏ nhất trong mảng `arr` có 8 phần tử?
int min = arr[0];
for (int i = 0, i < 8, i++) {
if (arr[i] < min) {
min = arr[i];
}
}
int min = arr[0];
for (int i = 0; i < 8; i++) {
if (arr[i] > min) {
min = arr[i];
}
}
int min = arr[0];
for (int i = 1; i < 8; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
int min = arr[1];
for (int i = 0; i <= 8; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
Đoạn lệnh nào đúng để đảo ngược các phần tử của mảng `arr` có 6 phần tử?
for (int i = 0, j = 5; i < j; i++, j--)
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for (int i = 0, j = 5; i >=j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for (int i = 0, j = 6; i = j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for (int i = 0, j = 5; i = j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = arr[i];
}
Giá trị nào được lưu trữ tại array[4] nếu có khai báo sau: int array[] = {2, 4, 6, 8, 10};?
2
4
8
10
Khi sử dụng mảng một chiều trong C++, điều gì sẽ xảy ra nếu không khởi tạo giá trị cho các phần tử?
Các phần tử sẽ có giá trị ngẫu nhiên từ bộ nhớ
Các phần tử sẽ tự động có giá trị bằng 0
C++ sẽ đưa ra cảnh báo biên dịch
Không thể khai báo mảng mà không khởi tạo
Tại sao truy cập array[-1] có thể gây ra lỗi hoặc kết quả không xác định?
Vì mảng không hỗ trợ chỉ số âm
Vì nó truy cập vào bộ nhớ nằm ngoài phạm vi của mảng
Vì C++ tự động bảo vệ không cho phép truy cập ngoài phạm vi
Vì chỉ số âm được sử dụng cho mảng hai chiều
Câu nào đúng khi khai báo hàm `tongLeChia3Mang` để tính tổng các phần tử có giá trị lẻ và chia hết cho 3 của mảng?
int tongLeChia3Mang (int arr[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
if(arr[i]%2!=0 && arr[i]%3==0) sum += arr[i];
}
return sum;
}
int tongLeChia3Mang (int arr[], int size) {
int sum = 0;
for (int i = 1; i < size; i++) {
if(arr[i]%2!=0 && arr[i]%3==0) sum += arr[i];
}
return sum;
}
int tongLeChia3Mang (int arr[], int size) {
int sum = 0;
for (int i = 0; i <= size; i++) {
if(arr[i]%2!=0 && arr[i]%3!=0) sum += arr[i];
}
return sum;
}
int tongLeChia3Mang (int arr[], int size) {
int sum = 0;
for (int i = 1; i < size-1; i++) {
if(arr[i]%2!=0 && arr[i]%3==0) sum += arr[i];
}
return sum;
}
Đáp án nào sau đây là đúng để khai báo một mảng kiểu char có độ dài 5 để chứa chuỗi ký tự là gì?
char str[5] = "abcd";
char str[5] = {a, b, c ,d};
char str = "abcd";
char str(5) == "abcd";
Câu 427. Kích thước của mảng có kiểu nguyên long array[10]; là bao nhiêu?
20 byte
40 byte
10 byte
100 byte
Để nhập giá trị cho các phần tử của mảng một chiều, ta sử dụng phương pháp nào?
Vòng lặp for hoặc while
Câu lệnh if
Hàm có sẵn
Không cần nhập giá trị
Câu lệnh khai báo và gán giá trị cho mảng hai chiều chứa các số nguyên nào sau đây là đúng?
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int matrix[3][3] = {1; 2; 3; 4; 5; 6; 7; 8; 9};
double matrix[3][3] = {{1, 2, 3}, {4, 5, 6}};
double matrix[] = {{1, 2}, {3, 4}, {5, 6}};
Câu lệnh truy cập phần tử cuối cùng của mảng một chiều ‘arr’ có 5 phần tử nào sau đây là đúng?
arr[4];
arr[5];
arr(5);
arr{4};
Câu lệnh khai báo và khởi tạo mảng một chiều chứa các giá trị số nguyên nào sau đây là đúng?
long arr[4] = {1; 2; 3;4 };
double arr[3] = {1.1, 2.2, 3.3};
long arr[4] = {1, 2, 3, 4 };
int arr = {1, 2, 3, 4};
Câu lệnh truy cập phần tử thứ 2 trong hàng thứ nhất của mảng hai chiều nào sau đây là đúng?
matrix[1][1];
matrix[1][0];
matrix[0][1];
matrix[0][0];
Câu lệnh khai báo và gán giá trị cho mảng hai chiều nào sau đây là SAI?
int matrix[2][3] = {1, 2, 3, 4, 5, 6};
int matrix[2][2] = {1, {2, 3}};
int matrix[3][3] = {{1, 2}, {3, 4},{5,6};
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}}
Câu lệnh khai báo và gán giá trị cho mảng ký tự nào sau đây là SAI?
char str[] = "Hello";
char str[5] = "Hello";
char str[6] = "Hello";
char str[10] = "Hello";
Câu lệnh gán giá trị cho mảng một chiều nào sau đây là đúng?
5 = arr[0];
arr[0] == 5;
arr = 5;
arr[0] = 5;
Đáp án nào sau đây là đúng để khai báo mảng arr chứa 10 phần tử kiểu số thực 4 byte và khởi tạo giá trị [1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f, 10.10f]?
float arr[10] = {1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f, 10.10f};
int arr[10] = {1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f, 10.10f};
double arr[10] = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10};
unsigned int arr[10] = {1.1f, 2.2f, 3.3f, 4.4f, 5.5f, 6.6f, 7.7f, 8.8f, 9.9f, 10.10f};
Câu lệnh khai báo mảng số nguyên nào sau đây là đúng?
int[10] arr;
arr[10] int;
int arr[10];
int arr = [10];
