a) Gợi ý:
Ý tưởng
Dùng một vòng do while để nhập a, b, c nếu a = 0, thì nhập lại.
Chúng ta dùng hàm sqrt() trong thư viện math.h để tính căn delta hoặc tính căn không dùng hàm sqrt()tại đây.
Chúng ta tạo hàm giaiPT trả về kiểu int chính là số nghiệm của phương trình (1).
Chúng ta sẽ đưa tham chiếu 2 biến x1 , x2 vào hàm giaiPT để gán giá trị hai nghiệm.
Nếu pt (1) vô nghiện thì giaiPT sẽ trả về 0 , đồng thời gán x1 = x2 =0 .
Nếu pt (1) có nghiệm kép thì giaiPT sẽ trả về 1 , đồng thời gán x1 = x2 = -b/2a .
Nếu pt (1) có 2 nghiệm thì giaiPT sẽ trả về 2 , gán x1 = (-b+√delta ) / 2a x = (-b-√delta ) / 2a .
b) Gợi ý:
#include <iostream>
using namespace std;
void nhap(int &n, int a[]){
for(int i=0;i<n;i++){
cout<<"a["<<i+1<<"]= ";cin>>a[i];
}
}
void xuat(int n, int a[]){
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
}
int tinhTBCongint (int n, int a[]){
int sum=0, dem=0;
for(int i=0;i<n;i++){
sum+=a[i]; dem++;
}
return sum/n;
}
int tinhTBCongDuong(int n, int a[]){
int sum=0, dem=0;
for(int i=0;i<n;i++){
if(a[i] > 0) {
sum+=a[i]; dem++;
}
}
if(dem==0) return 0;
return sum/dem;
}
int tinhTBCongAm(int n, int a[]){
int sum=0, dem=0;
for(int i=0;i<n;i++){
if(a[i]<0) {
sum+=a[i]; dem++;
}
}
if(dem==0) return 0;
return sum/dem;
}
int main(){
int n;
int a[100];
do{
cout<<"Nhap n: "; cin>>n;
}while(n <= 0 || n >=100);
nhap(n,a);
cout<<"\n--------XUAT MANG----\n";
xuat(n,a);
cout<<"Trung binh cong: "<<tinhTBCongint(n,a)<<"\n\n";
cout<<"Trung binh so duong: "<<tinhTBCongDuong(n,a)<<"\n\n";
cout<<"Trung binh so am: "<<tinhTBCongAm(n,a)<<"\n\n";
}