Mình có bài tập chuyển đổi từ hệ cơ số 2 sang hệ cơ số 10 bằng đệ quy bằng ngôn ngữ C
Code dưới mình sử dụng mảng một chiều để kiểm tra nhưng có hạn chế là chỉ có thể kiểm tra một số trường biết số phần tử của dãy( trong bài mình lấy số phần tử mặc định bằng 5) và việc nhập vào dãy số là rất khó khăn.Mình muốn tổng quát bài toán lên nhưng chưa làm được.
Không biết mình dùng chuỗi để nhập dãy số có đựoc hay không
Anh em có ai có cách giải quyết hay xin chỉ dùm cho mình . TKs

Code:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
//ham tinh 2^n
int luythua(int n){
	if(n==0){
		return 1;
	}else{
		return 2*luythua(n-1);

	}
}
//ham chuyen doi
int chuyen2sang10(int n,int k,int a[]){
	if(n==0){
		return a[k];
	}else{
		return a[k]*luythua(n)+chuyen2sang10(n-1,k+1,a);
	}
}
//ham hien thi
void display(int a[],int kq){
	int i;
	printf("\nDay so he co so 2 la: ");
	for(i=0;i<5;i++){
		printf("%d",a[i]);
	}
	printf("\n\nChuyen doi sang he 10 la\n");
	printf("%d",kq);
}
int main(){
	int i,a[5],kq;
	printf("Nhap vao day so can chuyen doi ( chi bao gom 0 1) \n\n");
	for(i=0;i<5;i++){
		printf("nhap vao so thu %d:  ",i+1);
		scanf("%d",&a[i]);
	}
	kq=chuyen2sang10(4,0,a);
	display(a,kq);
	getch();
}