PDA

View Full Version : Bài tập C ??


..::Chimera::..
21-12-2008, 08:59 PM
Bài 1.Viết hàm đệ quy in ra số tổ hợp chập m của n. Ví dụ sau đây in ra các tổ hợp chập 3 của 5
123, 124, 125, 134, 135, 145, 234, 235, 345


Bài 2Lập chương trình để nhập một dãy n số thực, sau đó sắp xếp dãy số theo thứ tự tăng dần và in ra . (về mảng).

Bài 3.Viết chương trình nhân ma trận vuông A cấp n với 1 vector v cấp n. Ví dụ: (về mảng)
......1 2 3
A = .4 5 6 và v = (10, 11, 12);
......7 8 9

/* Bằng ngôn ngữ C ,đừng viết = C++ mình chưa học tới*/

Kai_it
21-12-2008, 10:03 PM
Lâu gòi ko nhớ C lắm, nhớ công thức cho hàm cài đặt à, anh em coi sai chổ nào Edit dùm nha.
Bài 1:
long GT(int n) //tinh giai thua
{
if(n>1)
return n*GT(n-1);// de qui
return 1;
}

long ToHop(int n,int k) //to hop n chap k
{
return GT(n)/(GT(n-k)*GT);
}Bài 2:
void NhapMang(int a[],int &n)
{
printf("Nhap vao so phan tu trong mang: ");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("Nhap vao phan thu thu "%d" : ",i+1);
scanf("%d",&a[i]);
}
}
void XuatMang(int a[],int n)
{
printf("\nMang vua nhap:);
for(int i=0;i<n;i++)
printf("\t %d",a[i]);
}
void SapXep(int a[],int n)
{
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
{
if(a[i]>a[j])
HoanVi(a[i],a[j]);
}
printf("\nMang sau khi sap xep: ");
XuatMang(a,n);
}
void HoanVi(int &a,int &b)
{
int a=tam;
a=b;
b=tam;
}
Bài 3: Quên mất CT toán roài :D ai biết làm y nha.
//Hàm main,khai báo tự viết nha bạn

..::Chimera::..
21-12-2008, 10:31 PM
Thanks Kai_It .Bài 1 thì mình biết làm rồi nhưng còn cái in ra 123, 124, 125, 134, 135, 145, 234, 235, 345 như thế này.!!.

Kai_it
21-12-2008, 10:36 PM
Thanks Kai_It .Bài 1 thì mình biết làm rồi nhưng còn cái in ra 123, 124, 125, 134, 135, 145, 234, 235, 345 như thế này.!!.

Tổ hợp n chập k in ra kq có 1 số mà ta. Xin nói rõ hơn về dãy số 123,124.... của bạn, mình thấy đó là ví dụ mà.

..::Chimera::..
25-12-2008, 09:02 PM
Thì cái đề nó nói là in ra các tổ hợp 123,124... vậy đó.Có nghĩa là khi mình nhập vào tổ hợp chập 3 của 5 thì nó in ra lun 123,124... chứ không in ra 1 con số kq là 9 ^^


P/S: Mấy bài trên hok ai biết làm hết ah :khi24:

Tạo menu với chức năng:(về mảng 1 chiều)

1)Tạo ngẫu nhiên mảng 1 chìu n phần tử nguyên có giá trị nằm trong [-100,100],n nhập từ bàn phím
2)Tổng các số dương chia hếtcho 3
3)Đếm và lk SL các pt nằm trong [-20,20]
4)thay thế 1pt trong mảng = 1 phần tử khác
5)SX chẳn đầu,lẻ cuối
6)thóat



Bài trên mình làm đc câu 1,2,3 còn câu 4,5 thì mình hok biết làm sao ai biết chỉ mình với.

:khi96:

khigiadano
25-12-2008, 09:52 PM
4)thay thế 1pt trong mảng = 1 phần tử khác
5)SX chẳn đầu,lẻ cuối
6)thóat

:khi96:

Câu 4 chưa đc rõ ràng lắm, đề vậy sao làm
câu 5 : Cho 2 vòng lặp for,vòng for đầu điều kiện xuất là chia hết cho 2, vòng for sau điều kiện xuất là không chia hết cho 2, chỉ để các phần tử xuất ra cách nhau bằng dấu TAB, như vậy thì sau khi nó xuất hết số chẵn, nó sẽ chạy tiếp tục để xuất số lẻ :khi100:
" 6)thóat" <-- câu này khó quá đi à

Kai_it
26-12-2008, 12:05 AM
Câu 4:
void ThayX(int a[],int n)
{
int x,b;
printf("Nhap vao so can thay x= ");
scanf("%d",&x);
printf("\Nhap vao phan tu can thay: ");
scanf("%d",&b);
for(int i=0;i<n;i++)
{
if(b==a[i])
a[i]=x;
}
printf("\nPhan tu can thay ko co trong mang, lam sao thay :D");
} Trong hàm void main() bạn dùng hàm XuatMang ngay bên dưới khi khai báo hàm này sẽ thấy kết quả;
Câu 6: dùng dàm break;