B1 (Sắp xếp) Viết chương trình nhập vào một dãy các phần tử nguyên có số lượng n phần tử (1 <= n <= 100)
a) Viết hàm nhập xuất mảng
b) Viết hàm sắp xếp mảng theo thứ tự tăng dần
c) Viết hàm sắp xếp các số nguyên tố tăng dần trong mảng
#include <bits/stdc++.h>
using namespace std;
bool check_ngto(int n)
{
int j = 0;
for(int i = 1 ; i <= n ; i++)
{
if(n % i == 0)
j++;
}
if(j == 2)
return true;
return false;
}
int main()
{
int n;
cin>>n;
int a[n];
for(int i = 0 ; i < n ; i++)
cin>>a[i];
for(int i = 0 ; i < n - 1 ; i++)
{
for(int j = i + 1 ; j < n ; j++)
{
if(a[i] > a[j])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(int i = 0 ; i < n ;i++)
cout<<a[i]<<" ";
cout<<endl;
int num[101];
int x = 0;
for(int i = 0 ; i < n ; i++)
{
if(check_ngto(a[i]) == 1)
{
num[x] = a[i];
x++;
}
}
for(int i = 0 ; i < x ; i++)
cout<<num[i]<<" ";
return 0;
}
B2(Tính tổng điều kiện) Viết chương trình nhập vào một dãy các phần tử nguyên có số lượng n phần tử (1 <= n <= 50)
a) Viết hàm nhập xuất mảng
b) Viết hàm tính tổng các số chính phương
c) Viết hàm trả về tổng các số chia hết cho 3 và 4
#include <bits/stdc++.h>
using namespace std;
bool check_sochinhphuong(int n)
{
int t = sqrt(n);
if(pow(t,2) == n)
return true;
return false;
}
int main()
{
int n;
cin>>n;
int a[n];
for(int i = 0 ; i < n ; i++)
cin>>a[i];
int sum = 0;
for(int i = 0 ; i < n ; i++)
{
if(check_sochinhphuong(a[i]) == 1)
sum = sum + a[i];
}
cout<<sum<<endl;
int s = 0;
for(int i = 0 ; i < n ; i++)
{
if(a[i] % 3 == 0 && a[i] % 4 == 0)
s = s + a[i];
}
cout<<s;
return 0;
}
B3(Tìm số)Viết chương trình nhập vào một dãy các phần tử nguyên có số lượng n phần tử
( 1 <= n<= 30)
a) Viết hàm nhập xuất mảng
b) Viết hàm tìm số nguyên tố lớn nhất trong mảng nếu không có thông báo in ra màn hình
c) Viết hàm tìm số lớn nhất và số lớn thứ 2 trong mảng nếu không có in ra -1
Code:
#include <bits/stdc++.h>
using namespace std;
bool check_ngto(int n)
{
int j = 0;
for(int i = 1 ; i <= n ; i++)
{
if(n % i == 0)
j++;
}
if(j == 2)
return true;
return false;
}
int main()
{
int n;
cin>>n;
int a[n];
for(int i = 0 ; i < n ; i++)
cin>>a[i];
int num[31] , x = 0;
for(int i = 0 ; i < n ; i++)
{
if(check_ngto(a[i]) == 1)
{
num[x] = a[i];
x++;
}
}
int max = num[0];
for(int i = 0 ; i < x; i++)
{
if(max < num[i])
max = num[i];
}
cout<<max<<endl;
for(int i = 0 ; i < n - 1; i++)
{
for(int j = i + 1 ; j < n ; j++)
{
if(a[i] < a[j])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
int max1 = a[0];
int max2 = a[1];
bool z;
for(int i = 1 ; i < n ;i++)
{
if(max2 != max1)
{
max2 = a[i];
z = true;
break;
}
else
z = false;
}
if(z == true)
cout<<max1<<" "<<max2;
else
cout<<"-1";
return 0;
}
B4(Đổi chỗ) Viết chương trình nhập vào 1 dãy các phần tử thực có số lượng n phần tử (1 <=n<=30)
a) Viết hàm nhập xuất mảng
b) Viết hàm nhập xuất vị trí k , đổi chỗ vị trí k cho số chính phương đầu tiên trong mảng, nếu không có số chính phương đổi chỗ với phần tử cuối cùng của mảng
c) Viết hàm Đổi chỗ (Sắp xếp) các số dương về cuối mảng, số âm về đầu mảng , số 0 ở giữa mảng (nếu có)