vozForums
Báo lỗi diễn đàn và theo dõi tình hình khắc phục.

Go Back   vozForums > Máy tính để bàn > Phần mềm > Phát triển Phần mềm


Reply
 
Thread Tools
  #1  
Old 28-12-2010, 23:00
tienhung91 tienhung91 is offline
K.I.A
 
Join Date: 07-2007
Posts: 55
nhờ các bạn giỏi lập trình C tí

mình có bài toán thế này : viết chương trình nhập vào 1 chuỗi và 1 từ , sau đó hãy thay thế từ đó bằng từ " xxx" trog chuỗi vừa nhập nếu từ đó xuất hiện trong chuỗi please giúp dùm
Reply With Quote
  #2  
Old 28-12-2010, 23:27
Macro Kat's Avatar
Macro Kat Macro Kat is offline
Member
 
Join Date: 02-2010
Location: Vô hình bên cạnh người tôi yêu
Posts: 32
Re: nhờ các bạn giỏi lập trình C tí

Code:
#include <stdio.h>
#include <conio.h>
#include <string.h>

int BruteForce(char *a, char *p)
{
	int i=0, j=0;
	int n=strlen(a);
	int m=strlen(p);
	do
	{
		if(a[i]==p[j])
		{
			i++;
			j++;
		}
		else
		{
			i=i-j+1;
			j=0;
		}
	}
	while((i<n) && (j<m));
	if(j>=m)
		return i-m;
	else
		return -1;
}

char *replace(char *a)
{
	char *p;

	printf("Nhap vao chuoi nho: ");
	gets(p);
	if(BruteForce(a,p) ==-1)
	{
		printf("\nChuoi nho khong tim thay, ti`nh yeu oi!");
		return NULL;
	}
	else
	{
		int lenp=strlen(p);
		int pos=BruteForce(a,p);
		for(int k=0; k<lenp;k++)
		{
			a[pos]='x';
			++pos;
		}
	}
	return a;
}

void main()
{
	clrscr();
	char *string;
	char *post_string;
	printf("Nhap vao chuoi ban dau: ");
	gets(string);
	printf("\nChuoi sau khi thay the: %s",replace(string));
	getch();
}
Reply With Quote
  #3  
Old 28-12-2010, 23:29
tienhung91 tienhung91 is offline
K.I.A
 
Join Date: 07-2007
Posts: 55
Re: nhờ các bạn giỏi lập trình C tí

để thử iu quá :X , bạn cho mình cái thuật toán thử

Last edited by tienhung91; 28-12-2010 at 23:31.
Reply With Quote
  #4  
Old 28-12-2010, 23:35
_Kain_ _Kain_ is offline
K.I.A
 
Join Date: 11-2010
Posts: 447
Re: nhờ các bạn giỏi lập trình C tí

91. năm 2 mà không biết làm bài này???
Reply With Quote
  #5  
Old 28-12-2010, 23:49
ancomrang's Avatar
ancomrang ancomrang is offline
Junior Member
 
Join Date: 04-2010
Posts: 2
Re: nhờ các bạn giỏi lập trình C tí

nhìn vào code mà tự đọc ra thuật toán, đòi gì nữa :<
Reply With Quote
  #6  
Old 28-12-2010, 23:51
tienhung91 tienhung91 is offline
K.I.A
 
Join Date: 07-2007
Posts: 55
Re: nhờ các bạn giỏi lập trình C tí

người ta mới học C dc mấy ngày @@
Reply With Quote
  #7  
Old 29-12-2010, 00:17
Macro Kat's Avatar
Macro Kat Macro Kat is offline
Member
 
Join Date: 02-2010
Location: Vô hình bên cạnh người tôi yêu
Posts: 32
Re: nhờ các bạn giỏi lập trình C tí

Mới tắm xong

Thuật toán Brute Force để tìm chuỗi con trong chuỗi lớn thì nó làm như thế này:
Ví dụ: Tìm chuỗi "ahh" trong chuỗi "aaaahh"
aaaahh
ahh //kí tự đầu tiên đúng

aaaahh
ahh //kí tự thứ hai sai

aaaahh
-ahh //dịch sang bên phải một kí tự rùi lại so tiếp như cũ

...

return i-m là vị trí tìm thấy chuỗi con trong chuỗi lớn, return -1 là báo không tìm thấy
Reply With Quote
  #8  
Old 29-12-2010, 00:40
cuongbn cuongbn is online now
Member
 
Join Date: 04-2010
Posts: 79
Re: nhờ các bạn giỏi lập trình C tí

Quote:
Originally Posted by _Kain_ View Post
91. năm 2 mà không biết làm bài này???
90 năm 3 biết làm nhưng không làm
Bác nào mà đủ trình viết chương trình này bằng BrainFuck thì em sẵn sàng chiều các bác hết ý
Reply With Quote
  #9  
Old 29-12-2010, 00:42
tienhung91 tienhung91 is offline
K.I.A
 
Join Date: 07-2007
Posts: 55
Re: nhờ các bạn giỏi lập trình C tí

Quote:
Originally Posted by Macro Kat View Post
Mới tắm xong

Thuật toán Brute Force để tìm chuỗi con trong chuỗi lớn thì nó làm như thế này:
Ví dụ: Tìm chuỗi "ahh" trong chuỗi "aaaahh"
aaaahh
ahh //kí tự đầu tiên đúng

aaaahh
ahh //kí tự thứ hai sai

aaaahh
-ahh //dịch sang bên phải một kí tự rùi lại so tiếp như cũ

...

return i-m là vị trí tìm thấy chuỗi con trong chuỗi lớn, return -1 là báo không tìm thấy
mà mình chạy đến bước 2 là nó đứng chỉ , chạy c-free , máy vaio e23
Reply With Quote
  #10  
Old 29-12-2010, 00:45
Macro Kat's Avatar
Macro Kat Macro Kat is offline
Member
 
Join Date: 02-2010
Location: Vô hình bên cạnh người tôi yêu
Posts: 32
Re: nhờ các bạn giỏi lập trình C tí

Quote:
Originally Posted by tienhung91 View Post
mà mình chạy đến bước 2 là nó đứng chỉ , chạy c-free , máy vaio e23

Cái code này mình viết trên BORLANDC 3.1
Nếu bác xài IDE khác thì bác chịu khó thay thư viện khác, dùng hàm khác tương đương. Mình nghĩ là nó có khác biệt ở cái thư viện string.h và các hàm liên quan trong BORLANDC với cái C-free của bác
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump





All times are GMT +7. The time now is 23:52.


Steam Powered by vBulletin® 0.1 pre-alpha
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.