Hỏi về hàm đệ quy 2

sử dụng đệ quy .viết hàm cho biết độ dài của từ dài nhất có trong chuỗi
các bác giúp em. thanks

@HoangNew @noz1995 Vào giả hết bài tập de quy cho bạn nè @_@!

Để xem viết bằng Pascal như thế nào… :v:
Mà ông thầy nào dở hơi giao cả lố bài tập đệ quy làm gì không biết, nhảm nhí

1 Like

Chính xác. Đệ quy là để dùng cho chia để trị và quay lui với duyệt cây thôi.

#include<iostream>

using namespace std;

int chuoicododailonnhat = 0,i = 0,j = 0;

void dequy(string x){
	
	if (x.length() == i) { 
		cout << chuoicododailonnhat;
		return; 
		
	}
	if (x.at(i) == ' ' ){
		if (j > chuoicododailonnhat) chuoicododailonnhat = j;
		j = 0;
	}
	else if (i == x.length() - 1){
		j++;
		if (j > chuoicododailonnhat) chuoicododailonnhat = j;
	}
	else
	{
		j++;
	}
	i++;
	dequy(x);
}

int main(){
	char *x = new char[100];
	gets_s(x, 100);
	dequy(x);
	cout << endl;
	system("pause");
	return 0;
}

Thử đoạn code này xem :V

Bạn cho cái công thức hồi quy phát :blush:

hk hỉu bác ơi. viết bằng c++ đc hk bác

là sao bác…
.

Sorry, mình quote nhầm :joy:

Ý mình hỏi HoangNew là đưa ra công thức hồi quy, từ đó mỗi người tự lập trình theo cách của mình dựa trên công thức đó, nói thật mình rất ghét phải đọc code của người khác, thậm chí là đọc code cũ của chính bản thân mình.
Mình thấy một thực tế ở Việt nam là thay vì giải thích, các anh cứ thích liệng code cho nhau thôi.

1 Like

code của bác HoangNew chạy oke mà k hiểu code @@
:v

1 biến lưu kết quả chuỗi dài nhất
1 biến lưu chỉ số của chuỗi
1 biến đếm độ dài chuỗi lấy được

Mục đích tìm chuỗi con trong chuỗi có độ dài lớn nhất (được tách = dấu cách để phân biệt) -> duyệt từ đầu tới cuỗi chuỗi -> gặp dấu cách thì kiếm tra độ dài -> kết thúc chuỗi cũng kiểm tra độ dài -> trả về chuỗi có giá trị lớn nhất

Vậy là thay vì dùng for để duyệt kí tự thì dùng đệ quy để duyệt kí tự à :joy:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?