Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1Bài tập TH của CK1 Empty Bài tập TH của CK1 2009-12-01, 13:02

boy_saudoi

boy_saudoi

Thành Viên
Thấy lớp mình zô học KTLT toàn mấy bài trong sách Hết nói
Search đc bài tập của lớp 08CK1 để AE giải thử xem sao.Nhìn cái đề muốn nhức cái đầu Bực mình
Đề bài
Nhập vào một chuỗi chính là một đoạn văn chỉ gồm các kí tự 'a' ... 'z', 'A' ... 'Z', ',' (phẩy) , '.' (chấm), ' ' (khoảng trắng).
Yêu cầu:
1. Đếm số lượng câu trong đoạn văn và xuất ra màn hình
2. Đếm số lượng từ trong đoạn văn và xuất ra màn hình
3. Chuẩn hóa đoạn văn đó và xuất ra màn hình. Chuẩn hóa đoạn văn theo các bước sau:
a. Loại bỏ các khoảng trắng thừa ở đầu và cuối mỗi câu
b. Thay thế nhiều khoảng trắng liên tiếp nhau bằng một khoảng trắng
c. Viết hoa đầu câu, và viết thường ở các kí tự còn lại
d. Dấu , và . sát với từ trước đó và cách từ tiếp theo một khoảng trắng
Ví dụ:
Nhập vào đoạn văn sau:
hien nay, co rat nhieu cac ngOn ngu lap trinh da ra doi de ban viet nen mot san pham phan mem . Va tren mang cung co khong it nhunG EBOOK hay giup ban tu hoc lap trinh. vi vay, bai viet se taP hop cac ebook lap trinh hay De gioi thIeu den cac ban .
Kết quả:
Doan van tren bao gom 3 cau va 56 tu.
Doan van sau khi duoc chuan hoa:
Hien nay, co rat nhieu cac ngon ngu lap trinh da ra doi de ban viet nen mot san pham phan mem. Va tren mang cung co khong it nhung ebook hay giup ban tu hoc lap trinh. Vi vay, bai viet se tap hop cac ebook lap trinh hay de gioi thieu den cac ban.

2Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-01, 17:28

nhox_IT

nhox_IT

Thành Viên
bạn nào giải được thì giải cho mọi người cùng xem zới nhen!! hj..thanks... Vui

3Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-01, 20:34

Kem_Skillno1_group

Kem_Skillno1_group

Administrator
Vào nhìn thấy cái đề là muốn đi ngủ gùi...Anh em học giỏi lập trình ra tay giúp đỡ đi...

4Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-08, 23:50

Gà_rán

Gà_rán

Thành Viên
B1. Đọc file nguồn, rồi đồ vào một mảng (nên cấp phát động để tiết kiệm bộ nhớ ( hàm :fgets( ) )
B2. Chuẩn hóa cho từng trường hợp.
B3. Đổ vô file đích ( hàm : fputs() ).
Thân.

5Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-18, 19:51

Kem_Skillno1_group

Kem_Skillno1_group

Administrator
ui..pro quá..nhưng mình vẫn không làm ra..hichic..bạn có thể post lên cho mọi người xem với được không??

6Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-19, 21:27

abc

abc

Thành Viên
Gà_rán đã viết:
B1. Đọc file nguồn, rồi đồ vào một mảng (nên cấp phát động để tiết kiệm bộ nhớ ( hàm :fgets( ) )
B2. Chuẩn hóa cho từng trường hợp.
B3. Đổ vô file đích ( hàm : fputs() ).
Thân.
ê pác GÀ RÁN post lên cho mọi người tham khảo luôn dj nói dậy thj` cũng không ổn
thanks Khoc Khoc Khoc

7Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-22, 15:02

Gà_rán

Gà_rán

Thành Viên
Code:

#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
int DemTu(char* fileName)
{
 FILE *f;
 int dem=0;
 f=fopen(fileName,"r");
 char preChar,currChar;
 if(f!=NULL)
 {
  preChar=fgetc(f);
  while((currChar=fgetc(f))!=EOF)
  {
  if(isspace(currChar)|| currChar==','|| currChar=='.')
  {
    if (islower(preChar)||isupper(preChar))
    {
    dem++;
    }
  }
  preChar=currChar;
  }
  if (islower(preChar)||isupper(preChar))
  {
  dem++;
  }
  fclose(f);
 }
 return dem;
}
int DemCau(char *fileName)
{
 FILE *f;
 int dem=0;
 char c;
 f=fopen(fileName,"r");
 if(f!=NULL)
 {
  while((c=fgetc(f))!=EOF)
  {
  if(c=='.')
    dem++;
  }
  fclose(f);
 }
 return dem;
}
int DemKyTu(char *fileName)
{
 FILE *f1;
 f1=fopen(fileName,"r");
 int dem=0;
 char c;
 while((c=getc(f1))!=EOF)
 {
  dem++;
 }
 fclose(f1);
 return dem;
}
void Ktdc(char c[])
{
 
    while(c[0]==' ')
    {
    for(int i=0;i < strlen(c)-1;i++)
    {
      c[i]=c[i+1];
    }
    c[strlen(c)-1]='\0';
    }
}
void Ktgc(char c[])
{
 for(int i=0;i<strlen(c)-1;)
    {
    if(c[i]==' ')
    {
      if(c[i+1]==' ')
      {
      for(int j=i+1;j<strlen(c)-1;j++)
      {
        c[j]=c[j+1];
      }
      c[strlen(c)-1]='\0';
      }
      else
      ++i;
    }
    else
      ++i;
    }
}
void Ktcc(char c[])
{
  while(c[strlen(c)-1]==' ')
    {
   
        c[strlen(c)-1]='\0';
    }
}
// dau cham phay sat voi tu dung truoc
void DichChuyeDauSatChuTruoc(char c[])
{
 for( int i=0;i<strlen(c)-1;)
 {
    if(c[i]==' ')
    {
    if(c[i+1]=='.'||c[i+1]==',')
    {
      for(int j=i;j<strlen(c)-1;j++)
      {
      c[j]=c[j+1];
      }
      c[strlen(c)-1]='\0';
    }
    else{i++;}
     
    }
    else{i++;}   
 }
}
void DichChuyenChuSatDauTruoc(char *c)
{
 //dich chuyen tu dung sau, sat dau cham dung truoc
 for(int i=0;i<strlen(c)-1;)
 {
  if(c[i]=='.')
  {
  if(c[i+1]==' ')
  {
    for(int j=i+1;j<strlen(c)-1;j++)
    {
    c[j]=c[j+1];
    }
    c[strlen(c)-1]='\0';
  }
  else{i++;}
  }
  else{i++;}
 }
}
void VietHoaSauDauCham(char *c)
{
 strlwr(c);
 for(int i=0;i<strlen(c)-1;)
 {
  if(c[i]=='.')
  {
  if(islower(c[i+1]))
  {
    c[i+1]=c[i+1]-32;
  }
  else{i++;}
  }
  else{i++;}
 }
}
////Them khoang trang sau dau cham
int DemDauCham(char *c)
{
 int count=0;
 for(int i=0;i<strlen(c);i++)
 {
  if(c[i]=='.')
  count++;
 }
 return count;
}
void ThemKhoangTrang(char *&c,int vt)
{
 int k=strlen(c);
 for(int i=k+1;i>vt;i--)
 {
  c[i]=c[i-1];
 }
 c[vt]=' ';
}
void TaoKhoangTrang(char *&c)
{
 int n=strlen(c);
 int m=DemDauCham(c);
 char *s=new char[m+n];
 s=strdup(c);
 for(int i=0;i<strlen(s)-1;i++)
 {
  if(s[i]=='.')
  {
  ThemKhoangTrang(s,i+1);
  }
 }
 c=s;
}
//////////////////////////////////////////////
void ChuanHoa(char *fileName1,char *fileName2)
{
 FILE *f1;
 FILE *f2;
 int m=DemKyTu(fileName1);
 char *c;
 c=new char[m];
 f1=fopen(fileName1,"rt");
 f2=fopen(fileName2,"at");
 if(f1!=NULL )
 {
  while(fgets(c,m+1,f1)!=NULL)
  {
   
    Ktdc(c);//khoang trang dau cau
    Ktcc(c);//khoang trang cuoi cau
    Ktgc(c);//khoang trang giua cau
    DichChuyeDauSatChuTruoc(c);// c.
    DichChuyenChuSatDauTruoc(c);//.c
    VietHoaSauDauCham(c);//.H
    TaoKhoangTrang(c);
    fputs(c,f2);
  }
 
 }
}
void main()
{
    int kw=DemCau("D:\\hk3\\KTLT\\Or.txt");
 printf("So cau %d",kw);
 kw=DemTu("D:\\hk3\\KTLT\\Or.txt");
 printf("\nSo tu %d\n",kw);
 ChuanHoa("D:\\hk3\\KTLT\\Or.txt","D:\\hk3\\KTLT\\ChuanHoa.txt");
 
}

Nhưng còn trường hợp chữ hoa của chữ đầu tiên ....tui bí [You must be registered and logged in to see this image.]
Bạn nào đó giúp giùm tui cá này ha

8Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-22, 20:18

Kem_Skillno1_group

Kem_Skillno1_group

Administrator
cái này có yêu cầu phải là tập tin đâu...nếu mình nhập char chuoi[200] gì đó..gùi làm chứ..mà cái tập tin khó..làm ra là pro..thank nhiu nhiu Đỏ mặt

9Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-22, 21:03

chelsea_dia

chelsea_dia

Thành Viên
Bạn Ơi cho mình hỏi tác dụng của hàm Strtok dc ko?

10Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-22, 21:10

Gà_rán

Gà_rán

Thành Viên
Kem_Skillno1_group đã viết:cái này có yêu cầu phải là tập tin đâu...nếu mình nhập char chuoi[200] gì đó..gùi làm chứ..mà cái tập tin khó..làm ra là pro..thank nhiu nhiu [You must be registered and logged in to see this image.]
Hic , tui tưởng tập tin, ngớ ngẩn thiệt. Hic

11Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-22, 21:13

Gà_rán

Gà_rán

Thành Viên
chelsea_dia đã viết:Bạn Ơi cho mình hỏi tác dụng của hàm Strtok dc ko?
Hàm cắt ra một dãy các ký tự thỏa diều kiện cắt.
vd: char*s=strtok(c," +");
vd :--+fgh--
s=fgh
vd : fgh++bfd
s=fgh
s=bfd

12Bài tập TH của CK1 Empty Re: Bài tập TH của CK1 2009-12-28, 16:36

chelsea_dia

chelsea_dia

Thành Viên
cam on Gan Ran

Sponsored content


Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết