30/09/2018, 16:23

Làm thế nào để chèn chuỗi 2 vào chuỗi 1 tại vị trí vt?

Đề bài:Nhập từ bàn phím nội dung của chuỗi chuoi1, chuoi2, số nguyên dương vt.Sau đó chèn chuỗi chuoi2 vào chuoi1 tại vị trí vt.Mình đã làm như sau:

void chen(char chuoi1[]){
    int vitri;
    char tam[255]="",chuoi2[255]="";
    printf("Nhap noi dung cua chuoi can chen: ");
    gets(chuoi2);
    printf("Nhap vi tri can chen: ");
    scanf("%d",&vitri);
    strcpy(tam,chuoi1+vitri-1);
    strcpy(chuoi1+vitri-1,chuoi2);
    strcat(chuoi1,tam);
    puts(chuoi1);
}
int main(){
    char chuoi1[]="le van bao";
    chen(chuoi1);
    return 0;
}

Mình thắc mắc là vị trí chèn vt sẽ trùng với vị trí của phần tử chuoi1[vt] hay là trùng với vị trí của phần tử chuoi1[vt-1].
Ở đây mình code theo hướng là vị trí chèn vt trùng với vị trí phần tử chuoi1[vt-1]
Cụ thể:
INPUT:

Nội dung của chuỗi 1:le van bao
Nội dung của chuỗi 2:bao
vị trí chèn tức là giá trị của biến vt=4.

OUTPUT:

le baovan bao

Nhờ mọi người kiểm tra giúp mình với.

Quân viết 18:33 ngày 30/09/2018

Chèn vào vị trí đâu là vị trí thì chèn thôi. Sau khi chèn bạn phải đếm làm sao chuỗi cần chèn đúng ở vị trí vt.

... viết 18:31 ngày 30/09/2018

Do bạn không làm cấp phát động, bạn nên kiểm tra xem tổng độ dài 2 chuỗi có vượt quá giới hạn chuỗi 1 không!

Dat Bui viết 18:38 ngày 30/09/2018

mọi người giải thích giúp em chỗ chuoi1+vitri-1 với ạ

rogp10 viết 18:32 ngày 30/09/2018

Vì trong máy đánh số từ 0 và người ta đánh số từ 1.

Bài liên quan
0