0% found this document useful (0 votes)
35 views8 pages

bài tập về nhà KTLT - chương4

The document contains 11 C++ programming exercises. Each exercise demonstrates how to write C++ code to solve a specific problem, such as finding the sum of array elements divisible by 3, merging two sorted arrays, or checking if a string contains a substring.

Uploaded by

hieunt0471
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views8 pages

bài tập về nhà KTLT - chương4

The document contains 11 C++ programming exercises. Each exercise demonstrates how to write C++ code to solve a specific problem, such as finding the sum of array elements divisible by 3, merging two sorted arrays, or checking if a string contains a substring.

Uploaded by

hieunt0471
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

CHƯƠNG 4

Bài 1:
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Nhap so phan tu cua day: ";
cin >> n;
int* a = new int[n];
cout << "Nhap cac phan tu cua day:\n";
for (int i = 0; i < n; ++i) {
cout << "Phan tu thu " << i + 1 << ": ";
cin >> a[i];
}
int tong = 0;
for (int i = 0; i < n; ++i) {
if (a[i] % 3 == 0) {
tong += a[i];
}
}
cout << "Tong cac phan tu chia het cho 3 la: " << tong << endl;
delete[] a;
return 0;
}
Bài 2:
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Nhap so phan tu cua day: ";
cin >> n;
int* a = new int[n];
cout << "Nhap cac phan tu cua day:\n";
for (int i = 0; i < n; ++i) {
cout << "Phan tu thu " << i + 1 << ": ";
cin >> a[i]; }
int dem = 0;
for (int i = 0; i < n - 1; ++i) {
for (int j = i + 1; j < n; ++j) {
if (a[i] == a[j]) {
dem++;
cout << "Gia tri trung nhau: " << a[i] << ", xuat hien " << dem << " lan.\n";
}
}
}
if (dem == 0) {
cout << "Khong co gia tri trung nhau trong day.\n";
}
delete[] a;
return 0;
}
Bài 3:
#include <iostream>
using namespace std;
int main() {
int n;
do {
cout << "Nhap so phan tu cua day (n > 0): ";
cin >> n;
} while (n <= 0);
int* mang = new int[n];
cout << "Nhap cac phan tu cua day:\n";
for (int i = 0; i < n; ++i) {
cout << "Phan tu thu " << i + 1 << ": ";
cin >> mang[i];
}
int x;
cout << "Nhap gia tri x: ";
cin >> x;
int tong = 0;
int soLuongPhanTuChon = 0;
cout << "Cac phan tu duoc chon sao cho tong nho hon " << x << " la:\n";
for (int i = 0; i < n; ++i) {
if (tong + mang[i] <= x) {
cout << mang[i] << " ";
tong += mang[i];
soLuongPhanTuChon++;
} else {
break;
}
}
if (soLuongPhanTuChon == 0) {
cout << "Khong co phan tu nao duoc chon.";
}
delete[] mang;
return 0;
}
Bài 4:
#include <iostream>
using namespace std;
int* timDayConTangDan(int a[], int n, int &doDai) {
if (n == 0) {
doDai = 0;
return nullptr;
}
int* batDau = nullptr;
int* ketThuc = nullptr;
int* tamThoiBatDau = nullptr;
int* tamThoiKetThuc = nullptr;
int tamThoiDoDai = 1;
doDai = 1;
for (int i = 1; i < n; i++) {
if (a[i] > a[i - 1]) {
if (tamThoiBatDau == nullptr) {
tamThoiBatDau = &a[i - 1];
tamThoiKetThuc = &a[i];
} else {
tamThoiKetThuc = &a[i];
tamThoiDoDai++;
}
} else {
tamThoiBatDau = nullptr;
tamThoiKetThuc = nullptr;
tamThoiDoDai = 1;
}
if (tamThoiDoDai > doDai) {
doDai = tamThoiDoDai;
batDau = tamThoiBatDau;
ketThuc = tamThoiKetThuc;
}
}
return batDau;
}
int main() {
int n;
cout << "Nhap so phan tu cua day: ";
cin >> n;
if (n <= 0) {
cout << "So phan tu khong hop le." << endl;
return 1;
}
int* a = new int[n];
cout << "Nhap cac phan tu cua day:\n";
for (int i = 0; i < n; i++) {
cout << "Phan tu thu " << i + 1 << ": ";
cin >> a[i];
}
int doDai;
int* dayCon = timDayConTangDan(a, n, doDai);
if (dayCon == nullptr) {
cout << "Khong co day con tang dan nao trong day." << endl;
} else {
cout << "Day con tang dan dai nhat la:\n";
for (int i = 0; i < doDai; i++) {
cout << dayCon[i] << " ";
}
cout << endl;
}
delete[] a;
return 0;
}
Bài 5:
#include <iostream>
#include <string>
using namespace std;
string tachPhanTen(const string &hoTen) {
size_t viTriCuoiCung = hoTen.find_last_of(' ');

if (viTriCuoiCung != string::npos) {
string phanTen = hoTen.substr(viTriCuoiCung + 1);
return phanTen;
}
return hoTen;
}
int main() {
string hoTen;
cout << "Nhap ho ten day du: ";
getline(cin, hoTen);
string ten = tachPhanTen(hoTen);
cout << "Phan ten la: " << ten << endl;
return 0;
}
Bài 6:
#include <iostream>
using namespace std;
void nhapMang(int mang[], int kichThuoc) {
cout << "Nhap cac phan tu cua mang:\n";
for (int i = 0; i < kichThuoc; ++i) {
cout << "Nhap phan tu thu " << i + 1 << ": ";
cin >> mang[i];
}
}
void xuatMang(int mang[], int kichThuoc) {
cout << "Mang:\n";
for (int i = 0; i < kichThuoc; ++i) {
cout << mang[i] << " ";
}
cout << endl;
}
void tronMang(int mang1[], int kichThuoc1, int mang2[], int kichThuoc2, int ketQua[]) {
int i = 0, j = 0, k = 0;
while (i < kichThuoc1 && j < kichThuoc2) {
if (mang1[i] < mang2[j]) {
ketQua[k] = mang1[i];
i++;
} else {
ketQua[k] = mang2[j];
j++;
}
k++;
}
while (i < kichThuoc1) {
ketQua[k] = mang1[i];
i++;
k++;
}
while (j < kichThuoc2) {
ketQua[k] = mang2[j];
j++;
k++;
}
}
int main() {
int kichThuoc1, kichThuoc2;
cout << "Nhap kich thuoc mang 1: ";
cin >> kichThuoc1;
int* mang1 = new int[kichThuoc1];
nhapMang(mang1, kichThuoc1);
cout << "Nhap kich thuoc mang 2: ";
cin >> kichThuoc2;
int* mang2 = new int[kichThuoc2];
nhapMang(mang2, kichThuoc2);
int* ketQua = new int[kichThuoc1 + kichThuoc2];
tronMang(mang1, kichThuoc1, mang2, kichThuoc2, ketQua);
cout << "Mang sau khi tron va sap xep la:\n";
xuatMang(ketQua, kichThuoc1 + kichThuoc2);
delete[] mang1;
delete[] mang2;
delete[] ketQua;
return 0;
}
Bài 7:
#include <iostream>
using namespace std;
int uscln(int a, int b){
if(a == 0|| b == 0) return a+b;
for(int i = min(a,b); i>=1; i--){
if(a%i==0 && b%i==0)
return 1;
}
}
int main(){
int a, b, c;
cout << "Nhap so nguyen a: ";
cin >> a;
cout << "Nhap so nguyen b: ";
cin >> b;
cout << "Nhap so nguyen c: ";
cin >> c;
int s = uscln(a, b) + uscln(b, c) + uscln(a, c);

cout << "Tong USCLN cua (" << a << ", " << b << "), (" << b << ", " << c << "), (" << a << ", "
<< c << ") la: " << s << endl;
return 0;
}
Bài 8:
#include <iostream>
#include <cstring>
Using namespsce std;
char* DinhDangChuoi(char* s) {
int n = strlen(s);
char* ketQua = new char[n + 1];

int j = 0;
bool laKhoangTrangCuoiCung = true;

for (int i = 0; i < n; ++i) {


if (s[i] != ' ') {
ketQua[j++] = (laKhoangTrangCuoiCung) ? toupper(s[i]) : tolower(s[i]);
laKhoangTrangCuoiCung = false;
} else {
laKhoangTrangCuoiCung = true;
}
}

ketQua[j] = '\0';

return ketQua;
}

int main() {
char chuoi[100];
cout << "Nhap chuoi: ";
cin.getline(chuoi, 100);

char* ketQua = DinhDangChuoi(chuoi);

cout << "Chuoi sau khi dinh dang: " << ketQua << endl;

delete[] ketQua;

return 0;
}

Bài 9:
#include <iostream>
using namespace std;
void noiChuoi(char* chuoiT, const char* chuoiS) {
while (*chuoiT != '\0') {
chuoiT++;
}
while (*chuoiS != '\0') {
*chuoiT = *chuoiS;
chuoiT++;
chuoiS++;
}
*chuoiT = '\0';
}
int main() {
char chuoiT[100];
char chuoiS[100];
cout << "Nhap chuoi T: ";
cin.getline(chuoiT, 100);
cout << "Nhap chuoi S: ";
cin.getline(chuoiS, 100);
noiChuoi(chuoiT, chuoiS);

cout << "Chuoi sau khi noi: " << chuoiT << endl;

return 0;
}

Bài 10:
#include <iostream>
using namespace std;
void NhapDaySo(double*& a, int& n) {
cout << "Nhap so luong phan tu cua day: ";
cin >> n;
if (n <= 0) {
cout << "So luong phan tu khong hop le." << endl;
exit(1);
}
a = new double[n];
cout << "Nhap cac phan tu cua day:\n";
for (int i = 0; i < n; ++i) {
cout << "Phan tu thu " << i + 1 << ": ";
cin >> a[i];
}
}
void Tim3PhanTuLonNhat(double* a, int n) {
if (n < 3) {
cout << "day so khong có dủ 3 phan tu." << endl;
return;
}

double* result = new double[3];


double phantulonnhat = 0;

for (int i = 0; i < n - 2; ++i) {


for (int j = i + 1; j < n - 1; ++j) {
for (int k = j + 1; k < n; ++k) {
double tong= a[i] + a[j] + a[k];
if (tong > phantulonnhat) {
phantulonnhat = tong;
result[0] = a[i];
result[1] = a[j];
result[2] = a[k];
}
}
}
}
cout << "3 phan tu sao cho tong lon nhat la: " << result[0] << ", " << result[1] << ", " << result[2] <<
endl;
delete[] result;
}
int main() {
double* a;
int n;
NhapDaySo(a, n);
Tim3PhanTuLonNhat(a, n);
delete[] a;
return 0;
}

Bài 11:

#include <iostream>
#include <cstring>
Using namespace std;
bool KiemTraChuoiLapTrinh(const char* s) {
return (strstr(s, "Lap Trinh") != nullptr);
}

int main() {
char chuoi[100];
cout << "Nhap chuoi: ";
cin.getline(chuoi, 100);

if (KiemTraChuoiLapTrinh(chuoi)) {
cout << "Chuoi chua \"Lap Trinh\".\n";
} else {
cout << "Chuoi khong chua \"Lap Trinh\".\n";
}

return 0;
}

You might also like