Huflit - TH0804 class
 
Trang chủTrang ChínhTrợ giúpTìm kiếmĐăng kýĐăng Nhập
đã có lịch học HK2 , các bạn vào lịch thông báo trong box bản tin lớp để xem ^o^

Share | 
 

 hướng giai bài tập CSLT

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Chuyển đến trang : 1, 2  Next
Tác giảThông điệp
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: hướng giai bài tập CSLT   6/1/2009, 20:37

theo yêu cầu của một số bạn tớ sẽ bơ lên đây hướng giải một số bài của môn CSLT.còn mã của chường trình thì pm nick tớ nha :tranthequan1212002

Đầu tiên là bài 12 trang 108: để tính a mũ b thì ta dùng hàm pow(a,b) rồi gán giá trị này cho một biến c nào đó. để sử dụng hàm pow tải phải ghi thêm dòng lệnh #include "math.h"


bài 13 trang 108: để tính số lớn nhất trong 3 số thì ta dùng một biến phụ max=-35000.rồi sau đó ta so sánh biến này voiws các biến mà ta nhập vào.nếu biến nào lớn hơn max thì ta gán max= biến đó(ví dụ a>max thì max=a)

bài 14 trang 108 và bài 15 thì cứ theo cách giải thông thường là dc thui Razz

bài 16 trang 108:giải phương trình trùng phương thì lấy mấy cái hệ số đó giải phương trình bậc hai.rồi coi nghiệm nào lớn hơn không thì ta lấy căn bậc hai của nó.thế thôi. Razz
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   6/1/2009, 22:25

tiếp tục
bài 17 trang 108: ta tạo ra khai báo một biến S(tổng các số và lấy giá trị khởi đầu bằng không).sau khi nhap so đó vào máy ta dùng vòng lặp for đê cho số i chạy từ 1 đến n rồi dùng if để kiểm tra xem có thoả một trong hai điều kiện kia không.nếu thở một trong hai điều kiệm thì là cộng them vào biến tổng cứ tiếp tục tới n.cùng chia hết cho 3 và 5 la chia hết cho 15.còn cái dk thứ hai là :if ((i%3=2)&&(i%5=3)
bài 18 trang 108: bài nì thì đơn giản là dùng vòng lặp rồi cộng dần dần, mỗi lần cộng thì xuất ra một lần
bài 19 trang 108: bài nì thì xài định thức ai nhớ chỉ tớ voiiiiiiiiiiiiiiiiiiii tớ quên mất oy` Razz
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   6/1/2009, 22:39

bài 21 trang 109: bài này đầu tiên ta cho người ta nhập vào năm trước.sau đo kiểm tra năm đó có phải nhuần hay ko lưu vào một biến bất kì để lưu lại(ví dụ nn=1 là năm nhuần còn =0 là ko).sau đó tới phiên nhập tháng ta sử dụng còng lặp vô thời hạn như bữa trước thầy đại chỉ .nếu người dùng nhập vào sai thì bắt họ nhập lại cho tới khi nào nhập đúng.rồi tới phiên ngày.ta chia làm 3 trường hợp.
-trường hợp 1 là níu tháng nhập vào là tháng co 31 ngày thì ta kiểm tra người nhập có trên 31 ngày ko.dùng vòng lặp vô hạn như trên để cho họ nhập tới khi đúng.tương tự với tháng có 30 ngày
-trường hợp dính vào tháng hai thì: nếu năm nhuần tháng 2 có 29 ngày người dùng ko nhập quá số 29 còn ko phải thì chỉ 28 thôi.cũng dùng lặp vô hạn để bắt họ nhập tới đúng
hơi lằng nhằn nên pm tớ để lấy code

Bài 22 trang 109:bài nì thầy đại dạy oy` quân ko nhắc lại nữa

Bài 23 trang 109:bài này thì lấy một phần đoạn mã trên là kiểm tra số đó có phải là nguyên tố hay không.cho một biến nào đó chạy từ hai tói n kiểm tra biến đó có phải số nguyên tố hay không nếu co thì xuất ra.Xong !


Được sửa bởi TranTheQuan ngày 8/1/2009, 19:06; sửa lần 1.
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   6/1/2009, 22:42

bài 24 trang 109: bài nì hiện jo tớ mới nghĩ ra một cách duy nhất là cho một biến i chạy từ 1 đến n rồi kiểm tra từng số một.tuy hơi chậm nhưng vẫn chạy .khi nào có cách hay hơn tớ sẽ sửa.

bài 25 trang 109: cái này thì ta dùng vòng lặp for để chạy.cho biến i chạy từ 1 đến n/2. mỗi lần xong một vòng for thì cộng cho biến i 2 đơn vị( để chỉ là số lẻ).dùng biến tạm max để lưu cái ước lẻ lớn nhất đó.mỗi lần chạy vòng lặp for mà tìm ra dc một ước lẻ nào thì ta lại lấy ra so sánh với max nếu max bé hơn thì gán max bằng biến mới tìm thây.chạy cho tới khi i=n/2

bài 26 trang 109: bài này thầy đại cũng đã chỉ cho ta cách làm rồi


Được sửa bởi TranTheQuan ngày 8/1/2009, 19:09; sửa lần 1.
Về Đầu Trang Go down
jick
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 44
Age : 27
Đến từ : Jick7
Sở thích : Sports-online
Tên thật : Phạm Thanh Tùng
Thanh tích cực :
28 / 10028 / 100

Registration date : 31/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   7/1/2009, 21:29

ôi Jick hok hỉu j` cả hjjjj Very Happy Very Happy
Về Đầu Trang Go down
http://360.yahoo.com/my_profile-5yAJoTwrY7wsOcx8ltTsHGdYiKruYUal
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   7/1/2009, 21:33

hum ni mới bà con chúng ta thảo luận cách giải bài "Tháp Hà Nội" nhá bài nì hay lém: đề bài là
Người chơi được cho ba cái cọc và một số đĩa có kích thước khác nhau có thể cho vào các cọc này. Ban đầu sắp xếp các đĩa theo trật tự kích thước vào một cọc sao cho đĩa nhỏ nhất nằm trên cùng, tức là tạo ra một dạng hình nón. Người chơi phải di chuyển toàn bộ số đĩa sang một cọc khác, tuân theo các quy tắc sau:

* một lần chỉ được di chuyển một đĩa
* một đĩa chỉ có thể được đặt lên một đĩa lớn hơn (không nhất thiết hai đĩa này phải có kích thước liền kề, tức là đĩa nhỏ nhất có thể nằm trên đĩa lớn nhất)
bài này chúng ta sử dụng thuật toán đệ quy quay lui và tư tưởng bài toán này là như sau:


* đặt tên các cọc là A, B, C -- những tên này có thể chuyển ở các bước khác nhau
* gọi n là tổng số đĩa
* đánh số đĩa từ 1 (nhỏ nhất, trên cùng) đến n (lớn nhất, dưới cùng)

Để chuyển n đĩa từ cọc A sang cọc B thì cần:

1. chuyển n-1 đĩa từ A sang C. Chỉ còn lại đĩa #n trên cọc A
2. chuyển đĩa #n từ A sang B
3. chuyển n-1 đĩa từ C sang B cho chúng nằm trên đĩa #n

còn đây là code của bài bà con cố gắng nha:
#include <stdio.h>
#include <conio.h>

void hanoi(int, char, char, char);

void main()
{
int n;
char c;
do
{
printf("\n\nNhap so dia: ");
scanf("%d", &n);
printf("Cac buoc chuyen dia:");
hanoi(n, 'A', 'C', 'B');
printf("\n\nTiep tuc khong? (c/k): ");
c = getche();
} while(c == 'C' || c == 'c');
}

void hanoi(int n, char cotA, char cotC, char cotB)
{
if(n == 1)
{
printf("\n%s%c%s%c", " chuyen dia 1 tu cot ", cotA, " den cot ", cotC);
return;
}
hanoi(n-1, cotA, cotB, cotC);
printf("\n%s%d%s%c%s%c", " chuyen dia ", n, " tu cot ", cotA, " den cot ", cotC);
hanoi(n-1, cotB, cotC, cotA);
}
Về Đầu Trang Go down
bupbego
Lính mới
Lính mới
avatar

Nữ
Tổng số bài gửi : 5
Age : 26
Tên thật : matrioska
Thanh tích cực :
0 / 1000 / 100

Registration date : 29/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   11/1/2009, 15:07

choi` oi! giang cai' chj mi`nh hok hiu~ j` het', tuy noi la` su dung ham nhung su dung o cho~ nao` va` nhu the' na`o chu', ban cu' noi nga'n gon wa'..hok hiu...hok hiu...hok hiu Very Happy Very Happy Shocked Shocked
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   11/1/2009, 15:35

chài oy.ko hỉu ji thì pm trực tiếp nick yahoo.níu tớ online thì sẽ nói cặn kẽ hơn.đó nói từ trên gòi
Về Đầu Trang Go down
Sat-Mafia
Thành viên tích cực
Thành viên tích cực
avatar

Nam
Tổng số bài gửi : 84
Age : 27
Đến từ : Mafia World
Sở thích : Vo so_dem ko xue
Tên thật : Kim Sat
Thanh tích cực :
0 / 1000 / 100

Registration date : 07/02/2009

Bài gửiTiêu đề: hiiiiiiiiiiiiiiiiiiiii   7/2/2009, 15:34

afro the/ ban co the post len may bai Ma?ng tham khao dc ko?
H H H
Về Đầu Trang Go down
http://www.vuaviet.vn
IT_moi
Lính mới
Lính mới
avatar

Nam
Tổng số bài gửi : 1
Age : 27
Tên thật : thien_khiem
Thanh tích cực :
0 / 1000 / 100

Registration date : 13/02/2009

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   13/2/2009, 13:24

co ai hieu ve con tro ko ?chi giup moi nguoi di (nho cho vidu minh hoa nha)
bai 4,bai 6c trang 114 co ai lam duoc chua vay post len gium em nha
Razz Razz
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   23/2/2009, 19:21

#include "stdio.h"
#include "conio.h"
void nhap(int a[],int &n)
{
int i;
printf(" nhap vao so phan tu cua mang ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf(" nhap vao phan tu thu %d: ",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
int i;
printf(" mang da cho la :\n");
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
void chen(int a[],int &n,int x,int k)
{
int i;
for(i=n;i>=k;i--)
a[i+1]=a[i];
a[k]=x;
n++;
}
void xuli(int a[],int &n,int b[],int m,int c[],int p)
{
int i,j,t;
for(i=1;i<m;i++)
for(j=i+1;j<=m;j++)
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
for(i=1;i<=m;i++)
a[i]=b[i];
n=m;
for(i=1;i<=p;i++)
for(j=n;i>=1;j--)
if(c[i]>a[j])
{
chen(a,n,c[i],j+1);
break;
}
xuat(a,n);
}
void main()
{
int a[30],n;
int b[30],m;
int c[30],p;
nhap(b,m);
nhap(c,p);
xuli(a,n,b,m,c,p);
getch();
}
bài 7
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   23/2/2009, 19:39

#include "stdio.h"
#include "conio.h"
void nhap(int a[],int &n)
{
int i;
printf(" nhap vao so phan tu cua mang ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf(" nhap vao phan tu thu %d :",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
int i;
printf(" mang do la \n");
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
void sxcl(int a[],int n);
{
int i,j,t;
int b[];
for(i=1;i<n;i++)
b[i]=a[i];
for(i=1;i<n;i+=2)
for(j=i+2;j<=n;j+=2)
if(b[i]>b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
for(i=2;i<n;i+=2)
for(j=i+2;j<=n;j+=2)
if (b[i]<b[j])
{
t=a[i];
b[i]=b[j];
b[j]=t;
}
xuat(b,n);
}
void sxnt(int a[],int n)
{
int i,j,t,m,p;
int b[30];
int c[30];
int d[30]
m=0;p=0;
for(i=1;i<=n;i++)
if (a[i]>=0)
{
m++;
b[m]=a[i];
}
else
{
p++;
c[p]=a[i];
}
for(i=1;i<m;i++)
for(j=i+1;j<=m;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
for(i=1;i<p;i++)
for(j=i+1;j<=p;j++)
if(c[i]<c[j])
{
t=c[i];
c[i]=c[j];
c[j]=t;
}
for(i=1;i<=m;i++)
d[i]=b[i];
for(i=1;i<=p;i++)
d[i+m]=c[i];
xuat(d,n);
}
bài 6 còn câu c y chang nên bà con làm nha Very Happy
Về Đầu Trang Go down
jick
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 44
Age : 27
Đến từ : Jick7
Sở thích : Sports-online
Tên thật : Phạm Thanh Tùng
Thanh tích cực :
28 / 10028 / 100

Registration date : 31/12/2008

Bài gửiTiêu đề: bai 8 ma tran   24/2/2009, 21:13

#include "stdio.h"
#include "conio.h"
void NhapMang(int A[10][30],int &n,int &m)
{
int i,j,t;
printf("Nhap vao so dong : ");scanf("%d",&n);
printf("Nhap vao so cot : ");scanf("%d",&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
printf("Nhap vao phan tu thu A[%d][%d] : ",i,j);
scanf("%d",&t);
A[i][j]=t;
}
}
void XuatMang(int A[10][30],int n,int m)
{
int i,j;
printf("Matrix : \n");
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
printf("%4d ",A[i][j]);
printf("\n");
}
}
void Min(int A[10][30],int &n,int &m)
{
int i,j,min,a,b;
min=A[1][1];
a=1;b=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(min>A[i][j])
{
min=A[i][j];
a=i;
b=j;
}
}
printf("%2d",min);
printf("\nVi tri : %d %d ",a,b);
}
void Max(int A[10][30],int &n,int &m)
{
int i,j,max,v,t;
max=A[1][1];
v=1;t=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(max<A[i][j])
{
max=A[i][j];
v=i;
t=j;
}
}
printf("%2d",max);
printf("\nVi tri : %d %d",v,t);
}
long Tong1(int A[10][30],int &n,int &m)
{
int i,j,d;
int t=0,s;
for(i=1;i<=n;i++)
{
s=0;
for(j=1;j<=m;j++)
{
s = s + A[i][j];
}
if(t<s)
{
t=s;
d=i;
}
}
printf("\nVi tri dong co tong lon nhat: %d",d);
return t;

}
long Tong2(int A[10][30],int &n,int &m)
{
int i,j,d;
int s,t=99999999;
for(j=1;j<=m;j++)
{
s=0;
for(i=1;i<=n;i++)
{
s = s + A[i][j];
}
if(t>s)
{
t=s;
d=j;
}
}
printf("\nVi tri cot co tong nho nhat : %d",d);
return t;
}
void Cheo1(int A[10][30],int &n,int &m,int k)
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(i==j)
if(((i+k)<=n)&&((j-k+1)>=1))
{
printf(" %d ",A[i+k][j-k+1]);
}
}
}
void Cheo2(int A[10][30],int &n,int &m,int k)
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(i==j)
if(((j+k)<=m)&&((i-k+1)>=1))
{
printf(" %d ",A[i-k+1][j+k]);
}
}
}
void main()
{
int A[10][30],n,m,k;
NhapMang(A,n,m);
XuatMang(A,n,m);
printf("\nPhan tu nho nhat trong matrix : ");
Min(A,n,m);
printf("\nPhan tu lon nhat trong matrix : ");
Max(A,n,m);
printf("\nTong dong lon nhat : %d ",Tong1(A,n,m));
printf("\nTong cot nho nhat : %d ",Tong2(A,n,m));
printf("Nhap vao k: ");scanf("%d",&k);
printf("Cheo : ");
Cheo1(A,n,m,k);
getch();
}
Về Đầu Trang Go down
http://360.yahoo.com/my_profile-5yAJoTwrY7wsOcx8ltTsHGdYiKruYUal
jick
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 44
Age : 27
Đến từ : Jick7
Sở thích : Sports-online
Tên thật : Phạm Thanh Tùng
Thanh tích cực :
28 / 10028 / 100

Registration date : 31/12/2008

Bài gửiTiêu đề: bai 10 ma tran   24/2/2009, 21:14

Code:

#include "stdio.h"
#include "conio.h"
void NhapMang(int A[50][50],int n,int m)
{
   int i,j,t;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
      {
         printf("Nhap vao phan tu thu A[%d][%d] : ",i,j);
         scanf("%d",&t);
         A[i][j]=t;
         
      }
}
void XuatMang(int A[50][50],int n,int m)
{
   int i,j;
   for(i=1;i<=n;i++)
   {
      for(j=1;j<=m;j++)
         printf("%4d",A[i][j]);
         printf("\n");
   }
}
void XoaDog(int A[50][50],int &n,int m,int k)
{
   int i,j;
   for(j=1;j<=m;j++)
   {
         for(i=k;i<=n;i++)
            A[i][j]=A[i+1][j];
   }
   n--;
   //XuatMang(A,n,m);
}
void XoaCot(int A[50][50],int n,int &m,int l)
{
   int i,j;
   for(i=1;i<=n;i++)
   {
         for(j=l;j<=m;j++)
            A[i][j]=A[i][j+1];
   }   
   m--;
   printf("\n");
   //XuatMang(A,n,m);
}
void Min(int A[50][50],int &n,int &m)
{
   int i,j;
   int min=A[1][1];
   int v=1;int t=1;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
         if(min>A[i][j])
         {
            min=A[i][j];
            v=i;
            t=j;
         }
   XoaDog(A,n,m,v);
   XoaCot(A,n,m,t);
   XuatMang(A,n,m);
}
void Chen(int A[50][50],int n,int m)
{
   int t[100];
   int k,i,j;
   printf("Nhap vao dong can chen : ");
   scanf("%d",&k);
   printf("Mang luu ^^ gia tri muon chen : ");
   for(j=1;i<=m;j++)
      scanf("%d",&t[i]);
   for(j=1;j<=m;j++)
      for(i=n;i>=k;i--)
         A[i][j]=A[i-1][j];
   for(j=1;j<=m;j++)
      A[k][j]=t[j];

}
void main()
{
   int A[50][50],n,m,k,l;
   printf("Nhap vao so dong : ");scanf("%d",&n);
   printf("Nhap vao so cot : ");scanf("%d",&m);
   NhapMang(A,n,m);
   printf("\nMang sau khi nhap : \n");
   XuatMang(A,n,m);
   printf("\nPhan tu nho nhat trong mang : ");
   Min(A,n,m);
   //printf("\nNhap vao dong can xoa : ");scanf("%d",&k);
   //XoaDog(A,n,m,k);
   /*printf("Mang sau khi xoa dong : ");
   XuatMang(A,n,m);*/
   //printf("Nhap vao cot can xoa : ");scanf("%d",&l);
   //XoaCot(A,n,m,l);
   /*printf("Mang sau khi xoa cot : ");
   XuatMang(A,n,m);*/
   printf("\n");
   Chen(A,n,m);
   getch();
}
tao sửa bài cho mày nha tùng nhưng ko sửa code ha ha
Về Đầu Trang Go down
http://360.yahoo.com/my_profile-5yAJoTwrY7wsOcx8ltTsHGdYiKruYUal
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   24/2/2009, 21:56

Code:

#include "stdio.h"
#include "conio.h"
#include "string.h"
void dao(char j[])
{
   int ln=strlen(j);
   int i;
   char s[200];
   for(i=0;i<=ln;i++)
      s[i]=j[i];
   for(i=0;i<=ln/2-1;i++)
   {
      char ch=s[i];
      s[i]=s[ln-i-1];
      s[ln-i-1]=ch;
   }
   printf(" chuoi sau khi dao %s \n",s);
}
int kt(char j[])
{
   int i;
   char s[200];
   int ln=strlen(j);
   for(i=0;i<=ln;i++)
      s[i]=j[i];
   for(i=0;i<=ln/2-1;i++)
   {
      char ch=s[i];
      s[i]=s[ln-i-1];
      s[ln-i-1]=ch;
   }
   for(i=1;i<=ln;i++)
      if (s[i]!=j[i])
         return 0;
   return 1;
}
void xuatten(char s[])
{
   int i,j,t,ln=strlen(s);
   char k[30];
   t=-1;
   for(i=ln;i>=0;i--)
   {
      if(s[i]==' ')
      {
         for(j=i+1;j<=ln;j++)
         {
            t++;
            k[t]=s[j];
         }
         break;
      }
   }
   printf("ten cua nguoi nhap la : %s \n",k);
}
void xoavt(char s[],int posi,int num)
{
   int i,ln=strlen(s);
   char k[200];
   for(i=0;i<=ln;i++)
      k[i]=s[i];
   strcpy(k+posi,k+posi+num);
   printf("%s \n",k);
}
void main()
{
   char s[200];
   int i,j;
   printf(" nhap vao mot chuoi bat ki ");
   gets(s);
   printf(" chuoi moi nhap %s \n",s);
   dao(s);
   printf(" mang co doi xung hay ko la %d \n",kt(s));
   xuatten(s);
   printf(" nhap vao vi tri muon xoa ");
   scanf("%d",&i);
   printf(" nhap vao so phan tu xoa ");
   scanf("%d",&j);
   xoavt(s,i,j);
   getch();
}
chuỗi nè bà con đến câu 5


Được sửa bởi TranTheQuan ngày 6/3/2009, 10:22; sửa lần 1.
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   24/2/2009, 22:00

Code:

#include "stdio.h"
#include "conio.h"
void NhapMang(int A[10][30],int &n,int &m)
{
   int i,j,t;
   printf("Nhap vao so dong : ");scanf("%d",&n);
   printf("Nhap vao so cot : ");scanf("%d",&m);
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
      {
         printf("Nhap vao phan tu thu A[%d][%d] : ",i,j);
         scanf("%d",&t);
         A[i][j]=t;
      }
}
void XuatMang(int A[10][30],int n,int m)
{
   int i,j;
   printf("Matrix : \n");
   for(i=1;i<=n;i++)
   {
      for(j=1;j<=m;j++)
         printf("%4d ",A[i][j]);
      printf("\n");
   }
}
void Min(int A[10][30],int &n,int &m)
{
   int i,j,min,a,b;
   min=A[1][1];
   a=1;b=1;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
      {
         if(min>A[i][j])
         {
            min=A[i][j];
            a=i;
            b=j;
         }
      }
   printf("%2d",min);
   printf("\nVi tri : %d %d ",a,b);
}
void Max(int A[10][30],int &n,int &m)
{
   int i,j,max,v,t;
   max=A[1][1];
   v=1;t=1;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
      {
         if(max<A[i][j])
         {
            max=A[i][j];
            v=i;
            t=j;
         }
      }
   printf("%2d",max);
   printf("\nVi tri : %d %d",v,t);
}
long Tong1(int A[10][30],int &n,int &m)
{
   int i,j,d;
   int t=0,s;
   for(i=1;i<=n;i++)
   {
      s=0;
      for(j=1;j<=m;j++)
      {
         s = s + A[i][j];
      }
      if(t<s)
      {
         t=s;
         d=i;
      }
   }
   printf("\nVi tri dong co tong lon nhat: %d",d);
   return t;
   
}
long Tong2(int A[10][30],int &n,int &m)
{
   int i,j,d;
   int s,t=99999999;
   for(j=1;j<=m;j++)
   {
      s=0;
      for(i=1;i<=n;i++)
      {
         s = s + A[i][j];
      }
      if(t>s)
      {
         t=s;
         d=j;
      }
   }
   printf("\nVi tri cot co tong nho nhat : %d",d);
   return t;
}
void Cheo1(int A[10][30],int &n,int &m,int k)
{
   int i,j;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
         if(i==j)
            if(((i+k)<=n)&&((j-k+1)>=1))
            {
               printf(" %d ",A[i+k][j-k+1]);
            }   
}
void Cheo2(int A[10][30],int &n,int &m,int k)
{
   int i,j;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
         if(i==j)
            if(((j+k)<=m)&&((i-k+1)>=1))
            {
               printf(" %d ",A[i-k+1][j+k]);
            }   
}

void main()
{
   int A[10][30],n,m,k;
   NhapMang(A,n,m);
   XuatMang(A,n,m);
   printf("\nPhan tu nho nhat trong matrix : ");
   Min(A,n,m);
   printf("\nPhan tu lon nhat trong matrix : ");
   Max(A,n,m);
   printf("\nTong dong lon nhat : %d ",Tong1(A,n,m));
   printf("\nTong cot nho nhat : %d ",Tong2(A,n,m));
   printf("\nNhap vao k: ");scanf("%d",&k);
   printf("Cheo 1 : ");
   Cheo1(A,n,m,k);
   printf("Cheo 2 : ");
   Cheo2(A,n,m,k);
   getch();
}
bài 8 mảng hai chìu nè


Được sửa bởi TranTheQuan ngày 25/2/2009, 14:55; sửa lần 1.
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   24/2/2009, 22:05

Code:

#include "stdio.h"
#include "conio.h"
void NhapMang(int A[50][50],int n,int m)
{
   int i,j,t;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
      {
         printf("Nhap vao phan tu thu A[%d][%d] : ",i,j);
         scanf("%d",&t);
         A[i][j]=t;
         
      }
}
void XuatMang(int A[50][50],int n,int m)
{
   int i,j;
   for(i=1;i<=n;i++)
   {
      for(j=1;j<=m;j++)
         printf("%4d",A[i][j]);
         printf("\n");
   }
}
void XoaDog(int A[50][50],int &n,int m,int k)
{
   int i,j;
   for(j=1;j<=m;j++)
   {
         for(i=k;i<=n;i++)
            A[i][j]=A[i+1][j];
   }
   n--;
   //XuatMang(A,n,m);
}
void XoaCot(int A[50][50],int n,int &m,int l)
{
   int i,j;
   for(i=1;i<=n;i++)
   {
         for(j=l;j<=m;j++)
            A[i][j]=A[i][j+1];
   }   
   m--;
   printf("\n");
   //XuatMang(A,n,m);
}
void Min(int A[50][50],int &n,int &m)
{
   int i,j;
   int min=A[1][1];
   int v=1;int t=1;
   for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
         if(min>A[i][j])
         {
            min=A[i][j];
            v=i;
            t=j;
         }
   XoaDog(A,n,m,v);
   XoaCot(A,n,m,t);
   XuatMang(A,n,m);
}
void Chen(int A[50][50],int n,int m)
{
   int t[100];
   int k,i,j;
   printf("Nhap vao dong can chen : ");
   scanf("%d",&k);
   printf("Mang luu ^^ gia tri muon chen : ");
   for(j=1;j<=m;j++)
   {
      printf(" nhap vao phan tu %d ",j);
      scanf("%d",&t[j]);
   }
   for(j=1;j<=m;j++)
      for(i=n;i>=k;i--)
         A[i+1][j]=A[i][j];
   for(j=1;j<=m;j++)
      A[k][j]=t[j];
   XuatMang(A,n+1,m);
}
void main()
{
   int A[50][50],n,m,k,l;
   printf("Nhap vao so dong : ");scanf("%d",&n);
   printf("Nhap vao so cot : ");scanf("%d",&m);
   NhapMang(A,n,m);
   printf("\nMang sau khi nhap : \n");
   XuatMang(A,n,m);
   printf("\nPhan tu nho nhat trong mang : ");
   Min(A,n,m);
   //printf("\nNhap vao dong can xoa : ");scanf("%d",&k);
   //XoaDog(A,n,m,k);
   /*printf("Mang sau khi xoa dong : ");
   XuatMang(A,n,m);*/
   //printf("Nhap vao cot can xoa : ");scanf("%d",&l);
   //XoaCot(A,n,m,l);
   /*printf("Mang sau khi xoa cot : ");
   XuatMang(A,n,m);*/
   printf("\n");
   Chen(A,n,m);
   getch();
}
bài 10 mảng hai chiều


Được sửa bởi TranTheQuan ngày 25/2/2009, 14:52; sửa lần 2.
Về Đầu Trang Go down
Hiru
Lính mới
Lính mới
avatar

Nam
Tổng số bài gửi : 4
Age : 27
Tên thật : Hiru
Thanh tích cực :
3 / 1003 / 100

Registration date : 09/01/2009

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   24/2/2009, 22:11

Lần sau post nhớ để vào Code nhe Quân. Like this Sad
Code:
#include <stdio.h>
#define MAXC 100
#define MAXD 100

void Nhap(int a[MAXC][MAXD],int &nc,int &nd)
{
   printf("Ban hay nhap so dong: ");
   scanf("%d",&nd);
   printf("Ban hay nhap so cot: ");
   scanf("%d",&nc);
   int ic,id;
   for(ic=0;ic<=nc-1;ic++)
   {
      for(id=0;id<=nd-1;id++)
      {
         printf("Ban hay nhap phan tu a[%d][%d]: ",ic,id);
         scanf("%d",&a[ic][id]);
      }
   }
}

void Xuat(int a[MAXC][MAXD],int nc,int nd)
{
   int ic,id;
   for(ic=0;ic<=nc-1;ic++)
   {
      for(id=0;id<=nd-1;id++)
      {
         printf("%2d",a[ic][id]);
      }
      printf("\n");
   }
}
void main()
{
   int nc,nd;
   int a[MAXC][MAXD];
   Nhap(a,nc,nd);
   Xuat(a,nc,nd);
}
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   25/2/2009, 09:27

Code:

int th(char s[])
{
   int i,j,kt,ln=strlen(s);
   j=0;
   while(j<ln/2)
   {
      j++;
      kt=1;
      for(i=0;i<=ln-j-1;i++)
         if(s[i]!=s[i+j])
         {
            kt=0;
            break;
         }
      if(kt==1) return 1;
   }
   if (kt==0) return 0;
}
update bài 6 nè 1 là tuần hoàn 0 là không tuần hoàn
Về Đầu Trang Go down
Tinker_Bell
Lính mới
Lính mới
avatar

Nữ
Tổng số bài gửi : 2
Age : 27
Đến từ : Tổng Đà Cái Bang---Tập Đoàn Tự Tin
Tên thật : Thuy Trang
Thanh tích cực :
2 / 1002 / 100

Registration date : 09/01/2009

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   25/2/2009, 14:47

sao lan man thế??? nhìn không hỉu gì cả!!! có thể post lại cho giống 2 pài cuối để dễ nhìn hok??? Very Happy
Về Đầu Trang Go down
http://blog.360.yahoo.com/crazypig1412
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   25/2/2009, 15:32

Code:

void lanxh(char s[],char t[])
{
   int i,j,ln1=strlen(s),ln2=strlen(t);
   int kt,dem;
   dem=0;
   for(i=0;i<ln1-ln2+1;i++)
      if(s[i]=t[0])
      {
         kt=1;
         for(j=i+1;j<=i+ln2-1;j++)
         {
            if(s[j]!=t[j-i])
            {
               kt=0;
               break;
            }
         }
         if(kt==1)
            dem++;
      }
   printf("%d \n",dem);
}
bài 7 chuỗi nè bà con.bài 8 giống xuất tên bà con cố gắng hén
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   27/2/2009, 21:38

Code:

#include "stdlib.h"
#include "string.h"
#include "conio.h"
#define MAX 50
struct ThoiGian
{   int Gio,Phut,Giay;
};
typedef struct tagVDV
{   char HoTen[40];
   ThoiGian xp;
   ThoiGian vd;
}VDV;
typedef struct tagDSVDV
{   VDV vdv[MAX];
   int SoVDV;   
}DSVDV;
void NhapThoiGian(ThoiGian *tg)
{
   printf("Nhap gio: ");
   scanf("%d",&tg->Gio);
   printf("Nhap phut: ");
   scanf("%d",&tg->Phut);
   printf("Nhap giay: ");
   scanf("%d",&tg->Giay);
}
void Nhap1VDV(VDV *vdv)
{   printf("Nhap ho ten: ");
   fflush(stdin);
   gets(vdv->HoTen);
   printf("Nhap thoi gian xuat phat:\n");
   //gets(vdv->xp);//Sai nghiem trong
   NhapThoiGian(&vdv->xp);
   printf("Nhap thoi gian ve dich:\n");
   NhapThoiGian(&vdv->vd);
}
void NhapDanhSachVDV(DSVDV *ds)
{   printf("Nhap so van dong vien: ");
   scanf("%d",&ds->SoVDV);
   for(int i=0;i<ds->SoVDV;i++)
   {   printf("Nhap van dong vien thu %d:\n",i);
      Nhap1VDV(&ds->vdv[i]);
   }
}
void XuatThoiGian(ThoiGian tg)
{   printf("(%2d:%2d:%2d)",tg.Gio,tg.Phut,tg.Giay);
}
void Xuat1VDV(VDV vdv)
{
   printf("%-13s\t",vdv.HoTen);
   XuatThoiGian(vdv.xp);
   printf("\t");
   XuatThoiGian(vdv.vd);
}
void XuatDanhSachVDV(DSVDV ds)
{
   printf("Ho va ten      Xuat phat\tVe dich\n");
   for(int i=0;i<ds.SoVDV;i++)
   {
      Xuat1VDV(ds.vdv[i]);
      printf("\n");
   }
}
int DoiGioPhutGiayRaGiay(ThoiGian t)
{return t.Gio*3600+t.Phut*60+t.Giay;
}
ThoiGian DoiGiayRaGioPhutGiay(int giay)
{   ThoiGian t;
   t.Gio  = giay/3600;
   t.Phut  = (giay%3600)/60;
   t.Giay  = giay%60;
   return t;
}
ThoiGian TruThoiGian(ThoiGian t1, ThoiGian t2)
{
   int g1 = DoiGioPhutGiayRaGiay(t1);
   int g2 = DoiGioPhutGiayRaGiay(t2);
   int SoGiay = g1-g2;
   return DoiGiayRaGioPhutGiay(SoGiay);
}
void XuatDSVDVvaThanhTich(DSVDV ds)
{
   printf("Ho va ten      Xuat phat\tVe dich\tThanh tich\n");
   for(int i=0;i<ds.SoVDV;i++)
   {
      Xuat1VDV(ds.vdv[i]);
      XuatThoiGian(TruThoiGian(ds.vdv[i].vd,ds.vdv[i].xp));
      printf("\n");
   }
}
int SoSanhThoiGian(ThoiGian t1, ThoiGian t2)
{
   int SoGiay = DoiGioPhutGiayRaGiay(t1)-
      DoiGioPhutGiayRaGiay(t2);
   if(SoGiay>0)
      return 1;
   else if(SoGiay==0)
      return 0;
   else
      return -1;
}

VDV VDVThanhTichCaoNhat(DSVDV ds)
{
   int k;//vi tri VDV thanh tich cao nhat
   k = 0;
   for(int i=1;i<ds.SoVDV;i++)
      if(SoSanhThoiGian(TruThoiGian(ds.vdv[i].vd,ds.vdv[i].xp),TruThoiGian(ds.vdv[k].vd,ds.vdv[k].xp))==-1)
         k=i;
   return ds.vdv[k];
}
void main()
{   
   DSVDV ds;
   NhapDanhSachVDV(&ds);
   XuatDanhSachVDV(ds);
   getch();
   printf("Danh sach VDV va thanh tich cua ho:\n");
   XuatDSVDVvaThanhTich(ds);
   getch();
   VDV winner = VDVThanhTichCaoNhat(ds);
   printf("Van dong vien co thanh tich co nhat:\n");
   Xuat1VDV(winner);
   printf("\n");
}
bài 5 phần cấu trúc nè bà con
Về Đầu Trang Go down
nhatvuonga1
Lính mới
Lính mới
avatar

Nam
Tổng số bài gửi : 5
Age : 26
Tên thật : Bui Nhat Vuong
Thanh tích cực :
5 / 1005 / 100

Registration date : 22/02/2009

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   1/3/2009, 15:09

moi nguoi chu y kiem tra lai mot so bai tap o tren dien dan ve muc do chinh xac ..
minh thay mot so bai tap da bi giai sai...mong pa con hay can than nha...
Về Đầu Trang Go down
TranTheQuan
Quản lý viên
Quản lý viên
avatar

Nam
Tổng số bài gửi : 68
Age : 26
Đến từ : daklak
Sở thích : ngủ
Tên thật : Quân
Thanh tích cực :
20 / 10020 / 100

Registration date : 27/12/2008

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   1/3/2009, 22:25

xạo vừa thui cha
tụi thử hết rùi mới giám bỏ lên đây à với lại tự làm ko à
bài bài 5 cấu trúc thì đây bản 2008 về bản 6.0 thì tự sửa.ma trận thì mí người làm theo từ 0 đến n-1 còn tớ đây từ một nên nó khác nhá bạn
Về Đầu Trang Go down
xxxabcyyy
Lính mới
Lính mới
avatar

Nữ
Tổng số bài gửi : 7
Age : 27
Đến từ : TP Dầu Mỏ
Sở thích : tất tần tật
Tên thật : iam cah
Thanh tích cực :
5 / 1005 / 100

Registration date : 28/02/2009

Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   3/3/2009, 00:22

Embarassed bài 10 của thằng tùng kia sai tùm lum! ông coppy ở đâu vậy trời! Very Happy
Về Đầu Trang Go down
http://xxxabcyyy.blogspot.com/
Sponsored content




Bài gửiTiêu đề: Re: hướng giai bài tập CSLT   

Về Đầu Trang Go down
 
hướng giai bài tập CSLT
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 2 trangChuyển đến trang : 1, 2  Next
 Similar topics
-
» Đất dự án Nam Việt Á Đà Nẵng giai đoạn 2,đất Nam Việt Á giai đoạn 1
» bán căn hộ Vinhomes Liễu Giai giá Gốc view Hồ Tây 0946342299 từ 3,7ty

Permissions in this forum:Bạn không có quyền trả lời bài viết
TH0804 Family :: KHU VỰC HỌC HÀNH :: Cơ sở lập trình :: Thảo luận-
Chuyển đến