Windows Việt

Cộng Đồng Công Nghệ Thông Tin Việt

IndexIndex  Trợ giúpTrợ giúp  Thành viênThành viên  NhómNhóm  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 
 on thi KTLT
Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Chuyển đến trang : 1, 2, 3, 4  Next
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: on thi KTLT   Wed 23 Dec 2009, 15:18

nhằm giúp các bác ôn thi KTLT,em sẽ tích cực làm bài và post lên cho các bác tham khảo và bình lựng mong các bác ủng hộ,bài nào khó các bác cứ yêu cầu em sẽ giả lun,và post lên lun(tuỳ vào giả ra hay không)

dưới đây là bài 253.
Code:

#include "stdio.h"
#include "conio.h"
void nhap(int *&a,int &n,int *&b,int &m,char *filename)
{
 FILE *f=fopen(filename,"rt");
 if(f==NULL)
 {
  printf("loi khi mo file ");
  return ;
 }
 fscanf(f,"%d",&n);
 a=new int[n];
 for(int i=0;i<n;i++) 
  fscanf(f,"%d",&a[i]);
 fscanf(f,"%d",&m);
 b=new int[m];
 for(i=0;i<m;i++) 
  fscanf(f,"%d",&b[i]);
 fclose(f);
}
void xuat(int *a,int n)
{
 for(int i=0;i<n;i++)
  printf("%4d",a[i]);
}
int bcona(int *a,int n,int *b,int m)
{
 int *c=new int [m];
 for(int i=0;i<m;i++)
  c[i]=0;
 for(i=0;i<m;i++)
  for(int j=0;j<n;j++)
  {
  if(b[i]==a[j])
    c[i]=1;
  }
 for(i=0;i<m;i++)
  if(c[i]==0)
  return 1;
 return 0;
 delete []c;
}
void main()
{
 int *a,n,*b,m;
 nhap(a,n,b,m,"d:\\input.txt");
 xuat(a,n);
 printf("\n\n");
 xuat(b,m);
 printf("\n\n");
 if(bcona(a,n,b,m)==0)
  printf("tac ca cac phan tu trong mang b deu nam trong mang a\n\n");
 else
  printf("tac ca cac phan tu trong mang b khong nam trong mang a\n\n");
 getch();
 delete []a;
 delete []b;
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nữ
Tuổi : 27
Posts Posts : 34
Coins Coins : 39
Thanked Thanked : 2
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 16:55

giỏi quá!
giải dùm luuly_do bài 261 ha

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 17:28

tiếp theo là bài 254:
Code:

#include "stdio.h"
#include "conio.h"
void nhap(int *&a,int &n,char *filename)
{
 FILE *f=fopen(filename,"rt");
 if(f==NULL)
 {
  printf("loi khi mo file ");
  return ;
 }
 fscanf(f,"%d",&n);
 a=new int[n];
 for(int i=0;i<n;i++) 
  fscanf(f,"%d",&a[i]);
  fclose(f);
}
void xuat(int *a,int n)
{
 for(int i=0;i<n;i++)
  printf("%4d",a[i]);
}
int londungsau(int *a,int n,int p,int k)
{
 int *b=new int[k];
 for(int i=0;i<=k;i++)
  b[i]=0;
 for(i=k;i>=0;i--)
 {
  if(p>a[i])
  b[i]=1;
 }
 for(i=0;i<=k;i++)
  if(b[i]==0)
  return 0;
 return 1;
 delete []b;
}
int demlondungsau(int *a,int n)
{
 int dem=0;
 for(int i=n-1;i>=1;i--)//vi so cuoi cung khong co so dung sau nen khong xet toi
  if(londungsau(a,n,a[i],i-1)==1)
  dem++;
 return dem;
}
void main()
{
 int *a,n;
 nhap(a,n,"d:\\input.txt");
 xuat(a,n);
 printf("\n\n");
 printf("so luong phan tu lon hon tac ca cac phan tu dung sau la %d",demlondungsau(a,n));
 getch();
 delete []a;
}

bài 261 đợi tí có liền
 

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 17:36

hàng về luôn.
Code:

#include "stdio.h"
#include "conio.h"
void nhap(int *&a,int &n,char *filename)
{
 FILE *f=fopen(filename,"rt");
 if(f==NULL)
 {
  printf("loi khi mo file ");
  return ;
 }
 fscanf(f,"%d",&n);
 a=new int[n];
 for(int i=0;i<n;i++) 
  fscanf(f,"%d",&a[i]);
  fclose(f);
}
void xuat(int *a,int n)
{
 for(int i=0;i<n;i++)
  printf("%4d",a[i]);
}
void hoanvi(int *a,int *b)
{
 int t=*a;
 *a=*b;
 *b=t;
}
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] && a[i]>0 && a[j]>0)
    hoanvi(&a[i],&a[j]);
}
void main()
{
 int *a,n;
 nhap(a,n,"d:\\input.txt");
 xuat(a,n);
 printf("\n\n");
 sapxep(a,n);
 xuat(a,n);
 printf("\n\n");
 getch();
 delete []a;
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nữ
Tuổi : 27
Posts Posts : 34
Coins Coins : 41
Thanked Thanked : 4
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 17:53

được đó N!!

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 26
Posts Posts : 51
Coins Coins : 67
Thanked Thanked : 0
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 17:59

pro the nhi! lam duoc bai nao thi gom lai thanh mot file va up len cho chung minh tham khao voi ngen
thank you

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 27
Posts Posts : 58
Coins Coins : 97
Thanked Thanked : 4
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 18:50

ban nói thế thì giúp mình với mình định hỏi nhưng ko bit hỏi ai
đề
tìm mảng có tổng lớn nhất trong mảng 1 chiều ban đầu

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nữ
Tuổi : 26
Posts Posts : 57
Coins Coins : 277
Thanked Thanked : 6
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 20:04

bài 342,343 Nghiệp ơi! ko bit làm thế nào,chỉ coi.

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 20:08

[You must be registered and logged in to see this link.] đã viết:
ban nói thế thì giúp mình với mình định hỏi nhưng ko bit hỏi ai
đề
tìm mảng có tổng lớn nhất trong mảng 1 chiều ban đầu
chieu giờ ngủ .mới làm xong cho bạn đây.mình sửa đề lại cho phù hơp:
tìm mảng con có tổng lớn nhất và tổng đó nhỏ hơn tổng của mảng cha]
Code:

#include "stdio.h"
#include "conio.h"
void nhap(int *&a,int &n,char *filename)
{
 FILE *f=fopen(filename,"rt");
 if(f==NULL)
 {
  printf("loi khi mo file ");
  return ;
 }
 fscanf(f,"%d",&n);
 a=new int[n];
 for(int i=0;i<n;i++) 
  fscanf(f,"%d",&a[i]);
  fclose(f);
}
void xuat(int *a,int n,int x,int y)
{
 for(int i=x;i<=y;i++)
  printf("%4d",a[i]);
}
int tong(int *a,int n,int x,int y)
{
 int s=0;
 for(int i=x;i<=y;i++)
  s=s+a[i];
 return s;
}
void mangtonglon(int *a,int n)
{
 int i1,j1;
 int lc=a[0];
 for(int i=0;i<n;i++)
  for(int j=0;j<n;j++)
  {
  if(tong(a,n,i,j)>lc && tong(a,n,i,j)<tong(a,n,0,n-1))
  {
    lc=tong(a,n,i,j);
    i1=i;
    j1=j;
  }
  }
 xuat(a,n,i1,j1);
}
void main()
{
 int *a,n;
 nhap(a,n,"d:\\input.txt");
 //xuat(a,n);
 printf("\n\n");
 mangtonglon(a,n);
 getch();
 delete []a;
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 27
Posts Posts : 58
Coins Coins : 97
Thanked Thanked : 4
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 22:08

bạn làm sai rùi bạn ơi
mình nghĩ chắc phải nhờ bạn thêm lần nữa quá
trả lời nhanh cho mình cái nha

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 22:17

ủa.đâuc so sai đâu bạn
vd:mảng ban đầu
-1 2 3 4 -2 4 13
thì mảng con có tổng lớn nhất là 3 4 -2 4 13,tổng này đâu có lớn hơn tổng của mảng cha đâu

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 22:18

bạn nói sai phải cho mình các VD để biết sai làm sao chứ,nói như vậy làm sao mình biêt dc

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 27
Posts Posts : 58
Coins Coins : 97
Thanked Thanked : 4
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 22:19

15
-21 32 44 -44 -60 66 5 3 9 1 543 -31 -34 -2 -4
ban cho mang nay ra file txt di

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 22:22

kết quả nè
44 -44 -60 66 5 3 9 1 543 -31 -34
bạn tính tay thử coi đúng không

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 22:46

sao rùi bạn cho mình một cái ok để biết tình hình chứ

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 27
Posts Posts : 58
Coins Coins : 97
Thanked Thanked : 4
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 23:00

bạn ơi kq la
66 5 3 9 1 543 thui vi cong them so am no bi giam di

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 23:24

à,bạn bỏ dùm mình cái
Code:
&& tong(a,n,i,j)<tong(a,n,0,n-1))
là ok.
sorry bạn hen,vì đây là đièu kiện để nó không lớn hơn tổng của ma trận cha thui.mình đã nói ở trên là có sửa lại đề cho phù hợp khi người ta đưa vào mảng toàn số dương đấy mà.bạn cứ thử nhiều trường hợp khác đi,rồi pm mình.

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Wed 23 Dec 2009, 23:59

[You must be registered and logged in to see this link.] đã viết:
bài 342,343 Nghiệp ơi! ko bit làm thế nào,chỉ coi.
gửi cho pé "thuý cóc" bài 342.bài này mình chỉ xét phần tử cực đại lớn hơn cá phần tử nằm kế nó theo đường thẳng (dấu +) thui chứ chưa xét theo đường chéo vì quá nhiều sợ tẩu hoả nhập ma.đọc cải này hiểu rùi thì thêm vô tí xius nữa là ok.bài 343 hơi đuối nhưng sẽ post lên sau.đêm nay không ngủ rùi,sao mai đi chơi nỗi đây.
Code:

#include "stdio.h"
#include "conio.h"
void nhap(int **&a,int &m,int &n,char *filename)
{
 FILE *f=fopen(filename,"rt");
 if(f==NULL)
 {
  printf("loi khi mo file");
  return ;
 }
 fscanf(f,"%d",&m);
 fscanf(f,"%d",&n);
 a=new int*[m];
 for(int i=0;i<m;i++)
  a[i]=new int [n];
 for(i=0;i<m;i++)
  for(int j=0;j<n;j++)
  fscanf(f,"%d",&a[i][j]);
 fclose(f);
 
}
void xuat(int **a,int m,int n)
{
 for(int i=0;i<m;i++)
 {
  for(int j=0;j<n;j++)
  printf("%4d",a[i][j]);
  printf("\n\n");
 }
}
int dem(int **a,int m,int n)
{
 int dem=0;
 for(int i=1;i<m-1;i++)
  for(int j=1;j<n-1;j++)
  if(a[i][j]>a[i][j-1] && a[i][j]>a[i][j+1] && a[i][j]>a[i+1][j]  && a[i][j]>a[i-1][j])
    dem++;
 for(i=1;i<m-1;i++)
  if(a[i][0]>a[i][1] && a[i][0]>a[i+1][0] && a[i][0]>a[i-1][0])
  dem++;
 for(i=1;i<m-1;i++)
  if(a[i][n-1]>a[i][n-2] && a[i][n-1]>a[i-1][n-1] && a[i][n-1]>a[i+1][n-1])
  dem++;
 for(int j=1;j<n-1;j++)
  if(a[0][j]>a[1][j] && a[0][j]>a[0][j-1] && a[0][j]>a[0][j+1])
  dem++;
 for(j=1;j<n-1;j++)
  if(a[m-1][j]>a[m-2][j] && a[m-1][j]>a[m-1][j-1] && a[m-1][j]>a[m-1][j+1])
  dem++;
 
 if(a[0][0]>a[0][1] && a[0][0]>a[1][0])
  dem++;
 if(a[m-1][n-1]>a[m-2][n-1] && a[m-1][n-1]>a[m-1][n-2])
  dem++;
 if(a[m-1][0]>a[m-2][0] && a[m-1][0]>a[m-1][1])
  dem++;
 if(a[0][n-1]>a[0][n-2] && a[0][n-1]>a[1][n-1])
  dem++;
 return dem;
}
void main()
{
 int **a,m,n;
 nhap(a,m,n,"d:\\input1.txt");
 xuat(a,m,n);
 printf("so luong phan tu cuc dai trong ma tran la %d",dem(a,m,n));
 for(int i=0;i<m;i++)
  delete []a[i];
 delete []a;
 getch();
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Thu 24 Dec 2009, 00:49

hàng về.bài 343.đoạn code khủng bố quá.thi bài này chắc...chết vì mỏi tay.

Code:

#include "stdio.h"
#include "conio.h"
void nhap(int **&a,int &m,int &n,char *filename)
{
 FILE *f=fopen(filename,"rt");
 if(f==NULL)
 {
  printf("loi khi mo file");
  return ;
 }
 fscanf(f,"%d",&m);
 fscanf(f,"%d",&n);
 a=new int*[m];
 for(int i=0;i<m;i++)
  a[i]=new int [n];
 for(i=0;i<m;i++)
  for(int j=0;j<n;j++)
  fscanf(f,"%d",&a[i][j]);
 fclose(f);
 
}
void xuat(int **a,int m,int n)
{
 for(int i=0;i<m;i++)
 {
  for(int j=0;j<n;j++)
  printf("%4d",a[i][j]);
  printf("\n\n");
 }
}
int dem(int **a,int m,int n)
{
 int dem=0;
 for(int i=1;i<m-1;i++)
  for(int j=1;j<n-1;j++)
  if((a[i][j]>a[i][j-1] && a[i][j]>a[i][j+1] && a[i][j]>a[i+1][j]  && a[i][j]>a[i-1][j] && a[i][j]>a[i+1][j-1] && a[i][j]>a[i-1][j+1] && a[i][j]>a[i-1][j-1] && a[i][j]>a[i+1][j+1]) ||(a[i][j]<a[i][j-1] && a[i][j]<a[i][j+1] && a[i][j]<a[i+1][j]  && a[i][j]<a[i-1][j] && a[i][j]<a[i+1][j-1] && a[i][j]<a[i-1][j+1] && a[i][j]<a[i-1][j-1] && a[i][j]<a[i+1][j+1]))
    dem++;
 for(i=1;i<m-1;i++)
  if((a[i][0]>a[i][1] && a[i][0]>a[i+1][0] && a[i][0]>a[i-1][0] && a[i][0]>a[i-1][1] && a[i][0]>a[i+1][1]) || (a[i][0]<a[i][1] && a[i][0]<a[i+1][0] && a[i][0]<a[i-1][0] && a[i][0]<a[i-1][1] && a[i][0]<a[i+1][1]))
  dem++;
 for(i=1;i<m-1;i++)
  if((a[i][n-1]>a[i][n-2] && a[i][n-1]>a[i-1][n-1] && a[i][n-1]>a[i+1][n-1] && a[i][n-1]>a[i-1][n-2] && a[i][n-1]>a[i+1][n-2]) || (a[i][n-1]<a[i][n-2] && a[i][n-1]<a[i-1][n-1] && a[i][n-1]<a[i+1][n-1] && a[i][n-1]<a[i-1][n-2] && a[i][n-1]<a[i+1][n-2]))
  dem++;
 for(int j=1;j<n-1;j++)
  if((a[0][j]>a[1][j] && a[0][j]>a[0][j-1] && a[0][j]>a[0][j+1] && a[0][j]>a[1][j-1] && a[0][j]>a[1][j+1]) || (a[0][j]<a[1][j] && a[0][j]<a[0][j-1] && a[0][j]<a[0][j+1] && a[0][j]<a[1][j-1] && a[0][j]<a[1][j+1]))
  dem++;
 for(j=1;j<n-1;j++)
  if((a[m-1][j]>a[m-2][j] && a[m-1][j]>a[m-1][j-1] && a[m-1][j]>a[m-1][j+1] && a[m-1][j]>a[m-2][j-1] && a[m-1][j]>a[m-2][j+1]) ||(a[m-1][j]<a[m-2][j] && a[m-1][j]<a[m-1][j-1] && a[m-1][j]<a[m-1][j+1] && a[m-1][j]<a[m-2][j-1] && a[m-1][j]<a[m-2][j+1]))
  dem++;
 if((a[0][0]>a[0][1] && a[0][0]>a[1][0] && a[0][0]>a[1][1]) || (a[0][0]<a[0][1] && a[0][0]<a[1][0] && a[0][0]<a[1][1]))
  dem++;
 if((a[m-1][n-1]>a[m-2][n-1] && a[m-1][n-1]>a[m-1][n-2] && a[m-1][n-1]>a[m-2][n-2]) || (a[m-1][n-1]<a[m-2][n-1] && a[m-1][n-1]<a[m-1][n-2] && a[m-1][n-1]<a[m-2][n-2]))
  dem++;
 if((a[m-1][0]>a[m-2][0] && a[m-1][0]>a[m-1][1] && a[m-1][0]>a[m-2][1]) || (a[m-1][0]<a[m-2][0] && a[m-1][0]<a[m-1][1] && a[m-1][0]<a[m-2][1]))
  dem++;
 if((a[0][n-1]>a[0][n-2] && a[0][n-1]>a[1][n-1] && a[0][n-1]>a[1][n-2]) || (a[0][n-1]<a[0][n-2] && a[0][n-1]<a[1][n-1] && a[0][n-1]>a[1][n-2]))
  dem++;
 return dem;
}
void main()
{
 int **a,m,n;
 nhap(a,m,n,"d:\\input1.txt");
 xuat(a,m,n);
 printf("so luong phan tu cuc tri trong ma tran la %d",dem(a,m,n));
 for(int i=0;i<m;i++)
  delete []a[i];
 delete []a;
 getch();
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 18
Posts Posts : 377
Coins Coins : 564
Thanked Thanked : 33
Bài gửiTiêu đề: Re: on thi KTLT   Thu 24 Dec 2009, 07:59

Chương Chuỗi...Tầm 5/10...(Tăng độ phức tạp: nối chuỗi, chuẩn hóa có điều kiện, hoán vị chuỗi thỏa một yêu cầu, xóa chuỗi nhập vào...Chưa làm ^^ )
Code:
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "ctype.h"
int main(int argc, char* argv[])
{
    int op,i=0,dem=0,chandau,linhcanh=0,flag=1,a,b;
    char s[256];
tieptuc:
    do{
    printf("\t======================MENU======================\n\n");
    printf("\n\t1.Nhap 1 Chuyen Thanh Chuoi Thuong.");
    printf("\n\t2.Nhap 2 Chuyen Thanh Chuoi Hoa.");
    printf("\n\t3.Nhap 3 Dem So Tu.");
    printf("\n\t4.Nhap 4 Chuyen Chu Cai Dau Tien Thanh Hoa.");
    printf("\n\t5.Nhap 5 Tim Tu Dai Nhat.");
    printf("\n\t6.Nhap 6 Tim Chuoi A Trong Chuoi B.");
    printf("\n\t7.Nhap 7 Xoa Khoang Trang.\n");
    printf("\t\t\t\t");
    scanf("%d",&op);
    fflush(stdin);
    printf("\nNhap Chuoi: ");
    gets(s);
    }while(op<1||op>7);
    printf("\nKet Qua: ");
    if(op==1){
        strlwr(s);puts(s);
    }
    if(op==2){
        strupr(s);puts(s);
    }
    if(op==3){
        while(i<strlen(s)){
            if(s[i]!=' '&&(s[i+1]==' '||s[i+1]==0)){
                dem++;
            }
            i++;
        }
        printf("Co %d Tu.",dem);
    }
    if(op==4){
        s[0] = toupper(s[0]);
        for(i=0;i<strlen(s);i++){
            if(s[i]==' '){
                s[i+1] = toupper(s[i+1]);
            }
        }
        puts(s);
    }
    if(op==5){
        for(i=0;i<strlen(s);i++){
            if(s[i]!=' '){
                dem++;
                if(flag==1){
                    chandau = i;
                    flag = 0;
                }
            }
            if(s[i]== ' '||(i==(strlen(s)-1))){
                if(dem>=linhcanh){
                    linhcanh = dem;
                }
                flag = 1;
                dem = 0;
            }
        }
      printf("\nTu Dai Nhat Chuoi: ");
        for(i=0;i<strlen(s);i++){
            if(s[i]!=' '){
                dem++;
                if(flag==1){
                    chandau = i;
                    flag = 0;
                }
            }
      }
            if(s[i]== ' '||(i==(strlen(s)-1))){
                if(dem==linhcanh){
               for(chandau;chandau<=i;chandau++){
                  printf("%c",s[chandau]);
               }
            }
            dem = 0;
            flag =1;
         }
    }
    if(op==6){
        char a[256];
      int k=0;
        printf("\nNhap Chuoi A Can Tim: ");
        fflush(stdin);
        gets(a);
        int tontai=0;
        for(int i=0;i<strlen(s);i++){
            if(s[i]==a[0])
            {
                flag = 1;
                for(int j=0;j<strlen(a);j++){
                    if(s[i] == a[j]){
                        i++;
                  k++;                  
                    }
                    else{
                        flag = 0;
                        break;
                    }
                    if(flag==1&&k==strlen(a)){
                        tontai=1;
                  break;
                    }
                }
            }
        }
        if(tontai == 1){
            printf("Ton Tai Chuoi A '' %s ''.",a);
        }else{
            printf("Khong Ton Tai Chuoi A '' %s ''.",a);
        }
    }
    if(op==7){
        for(i=0;i<strlen(s);i++){
            if(s[i]==' '){
                for(int j=i;j<strlen(s);j++){
                    s[j]=s[j+1];
                }
            }
        }
        puts(s);
    }
    printf("\nNhap 1 de tiep tuc.");
    scanf("%d",&op);
    if(op==1){
        goto tieptuc;
    }
    getch();
    return 0;
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Fri 25 Dec 2009, 23:20

thấy topic này im lặng quá ta.2 nhày nữa thi KTLT rùi mà,không ai thoả luận hêt vậy.
cho các bác bài 281:cho ý kiến nha.hơi dài và chuối.
Code:

#include "stdio.h"
#include "conio.h"
void nhap(int *&a,int &n,char *filename)
{
 FILE *f=fopen(filename,"rt");
 if(f==NULL)
 {
  printf("loi khi mo file ");
  return ;
 }
 fscanf(f,"%d",&n);
 a=new int[n];
 for(int i=0;i<n;i++) 
  fscanf(f,"%d",&a[i]);
 fclose(f);
}
void xuat(int *a,int n)
{
 for(int i=0;i<n;i++)
  printf("%4d",a[i]);
}
void hoanvi(int *a,int *b)
{
 int t=*a;
 *a=*b;
 *b=t;
}
void chandaulecuoi(int *a,int n)
{
 int vtd=0;
 int vtc=n-1;
 for(int i=0;i<n;i++)
 {
  if(a[i]%2==0)
  {
  hoanvi(&a[i],&a[vtd]);
  vtd++;
  }
 }
 int vtk;
 for(i=n-1;i>=0;i--)
 {
  if(a[i]%2==0)
  {
  vtk=i;
  break;
  }
 }
 int dem=0;
 for(i=0;i<n;i++)
  if(a[i]==0)
  dem++;
 int lc=0;
 for(i=0;i<n;i++)
 {
  if(a[i]==0)
  {
  hoanvi(&a[i],&a[vtk]);
  vtk--;
  lc++;
  }
  if(lc==dem)
  break;
 }
 xuat(a,n);
}
void main()
{
 int *a,n;
 nhap(a,n,"d:\\input.txt");
 xuat(a,n);
 printf("\n\n");
 chandaulecuoi(a,n);
 getch();
 delete []a;
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 26
Posts Posts : 126
Coins Coins : 261
Thanked Thanked : 68
Bài gửiTiêu đề: Re: on thi KTLT   Sat 26 Dec 2009, 00:09

Hông ai làm giống bác nghiệp đâu. Đây là bài đếm cực trị mình sữa từ bài đếm cực đại của thầy.
Code:
 #include
#include
void nhap(int **&a,int&m,int&n)
{
    printf("nhap vao so dong:");
    scanf("%d",&m);
    printf("nhap vao so cot:");
    scanf("%d",&n);
    a=new int*[m];
    for(int i=0;i
    {
        a[i]=new int[n];
    }
    for(i=0;i
        for(int j=0;j
        {
            printf("nhap a[%d][%d]",i,j);
            scanf("%d",&a[i][j]);
        }

}
void xuat(int**a,int m,int n)
{
    for(int i=0;i
    {
        for(int j=0;j
        {
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
}
int    Dem(int** a, int m, int n)
{
    int dem = 0;
    int Dx[] = {-1, -1, -1,  0, 0,  1, 1 ,1};
    int Dy[] = {-1,  0,  1, -1, 1, -1, 0 ,1};
    for (int i=0;i
    {       
        for (int j=0;j
        {
            int flag = 1;
            for (int k=0;k<8;k++)
            {
                if (i+Dx[k]>=0 && i+Dx[k]=0 && j+Dy[k]
                {
                    if (a[i][j] < a[i+Dx[k]][j+Dy[k]] || a[i][j] > a[i+Dx[k]][j+Dy[k]])
                    {
                        flag = 0;
                        break;
                    }
                }
            }
            if (flag == 1)
            {
                dem ++;
            }
        }
    }
    return dem;
   
}

void main()
{
    int**a,m,n;
    nhap(a,m,n);
    printf("ma tran vua nhap la:\n");
    xuat(a,m,n);
    printf("\n");
    printf("so pt cuc dai lala:");
    int kq=Dem(a,m,n);
    printf("%d",kq);
    delete a;
}

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 556
Coins Coins : 2157
Thanked Thanked : 168
Bài gửiTiêu đề: Re: on thi KTLT   Sat 26 Dec 2009, 00:41

hô hô.đó là giải thuật của thầy rùi.khi tui giải bài này thì quên mất cách thầy giải nên code mới đồ sộ như vậy. .mà nhìn bạn làm cũng đâu khác gì thầy ,khác chỗ là từng chữ do mình code không phải của thầy. .nếu cho mình bài như vậy thi tư duy ban đầu ắt hẳn ai cũng như tui.hé hé

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 279
Coins Coins : 691
Thanked Thanked : 64
Bài gửiTiêu đề: Re: on thi KTLT   Sat 26 Dec 2009, 09:55

Code:

int dem=0;
    int Dx[] = {-1,-1,-1, 0,0, 1,1,1};
    int Dy[] = {-1, 0, 1,-1,1,-1,0,1};
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            int flag = 1;
            for (int k =0;k<8;k++)           
            {
                if ( i + Dx[k]>=0 && i + Dx[k]<m && j + Dy[k]>=0
                  && j + Dy[k]<n)
                {
                    if (p[i][j] < p[i + Dx[k]][j + Dy[k]])
                    {
                        flag = 0;
                    }
                }               
            }
            if (flag == 1)
            {
                dem++;
            }
        }
    }

cho mình hỏi dòng này để làm gì mình ko hieu đây là code thầy bai 342 tim phan tu cực đại??
Code:


if ( i + Dx[k]>=0 && i + Dx[k]<m && j + Dy[k]>=0
                  && j + Dy[k]<n)

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Member

avatar
Member
Giới tính : Nam
Tuổi : 28
Posts Posts : 44
Coins Coins : 67
Thanked Thanked : 8
Bài gửiTiêu đề: Re: on thi KTLT   Sat 26 Dec 2009, 09:59

Trích dẫn :
f ( i + Dx[k]>=0 && i + Dx[k]<m && j + Dy[k]>=0
&& j + Dy[k]

A doan code do dung de kiem tra xem vị trí i và j đang duyệt co thuoc ma tran khong do mà!^^

※ Bài viết cùng chuyên mục


Xem lý lịch thành viên
Tác giảThông điệp
Sponsored content



※ Bài viết cùng chuyên mục


 
on thi KTLT
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 4 trangChuyển đến trang : 1, 2, 3, 4  Next

Permissions in this forum:Bạn không có quyền trả lời bài viết
Windows Việt :: Lưu Trữ :: Lưu Trữ - Các môn học cũ :: Kỹ Thuật Lập Trình-
[Windows Việt] Deverloped by Nguyễn Gia Phú - http://windows.forumvi.com
Powered by © Forumotion.com - phpBB™ version ©phpBB2
Go to top Go to bottom