Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Nén và giải nén trong xâu

    Mình có bài tập sau mọi người cùng thảo luận và giúp đỡ nhé;
    a.Viết chương trình nén và giải nén 1 xâu ký tự.Ví dụ xâu AAABBBCCDEE giải nén thành 3A3B2CD2E
    b.Xóa các số trong xâu vừa giải nén

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn bạn lala nhưng mình đang cần 1 như thế viết bằng C++

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình là gà con nên chỉ giúp được bạn tới đây thui nha [IMG]images/smilies/biggrin.png[/IMG]
    Mã:
    #include <conio.h>
    #include <stdio.h>
    #include <string.h>
    
    
    main(){
    	
    	int k=1,j=0;
    	char a[100];
    	char b[100];
    	printf("Nhap xau: ");
    	gets(a);
    	for(int i=1;i<strlen(a)+1;i++){
    		if((a[i]!=a[i-1])&&(k!=1)) {
    			printf("%d%c",k,a[i-1]);
    			k=1;
    			b[j]=a[i-1];
    			j++;
    		}
    		else if(a[i]!=a[i-1]){
    			printf("%c",a[i-1]);
    			k=1;
    			b[j]=a[i-1];
    			j++;
    		}
    		else k++;
    	}
    	b[j]='\0';
    	printf("
    
    Xau vua giai nen: ");puts(b);
    getch();
    }

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi vinhtien17a5
    Mình có bài tập sau mọi người cùng thảo luận và giúp đỡ nhé;
    a.Viết chương trình nén và giải nén 1 xâu ký tự.Ví dụ xâu AAABBBCCDEE giải nén thành 3A3B2CD2E
    b.Xóa các số trong xâu vừa giải nén
    #include <iostream>
    #include <conio.h>
    #include <string.h>
    using namespace std;
    main()
    {
    char s[100], *a="qwertyuiopasdfghjklzxcvbnm1234567890";
    cout <<"Input string: ";
    cin >>s;
    int *b= new int[strlen(a)];
    for(int i=0;i<strlen(a);i++) b[i]=0;
    for(int i=0;i<strlen(s);i++)
    {
    for(int j=0;j<=strlen(a);j++)
    if(s[i]==a[j]) b[j]=b[j]+1;
    }
    cout <<"Your input: "<<s<<endl;
    char gn[100], x[100];
    int j=0, k=0;
    for(int i=0;i<strlen(a);i++)
    if(b[i]!=0)
    {
    gn[j]=b[i]+48;
    j++;
    gn[j]=a[i];
    x[k]=a[i];
    k++;
    j++;
    }
    cout <<"
    Xau nen la: ";
    for(int i=0;i<j;i++)
    cout <<gn[i];
    cout <<"
    Xoa so trong xau: ";
    for(int i=0;i<k;i++)
    cout <<x[i];
    getch();
    }

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi xuanhien091
    #include <iostream>
    #include <conio.h>
    #include <string.h>
    using namespace std;
    main()
    {
    char s[100], *a="qwertyuiopasdfghjklzxcvbnm1234567890";
    cout <<"Input string: ";
    cin >>s;
    int *b= new int[strlen(a)];
    for(int i=0;i<strlen(a);i++) b[i]=0;
    for(int i=0;i<strlen(s);i++)
    {
    for(int j=0;j<=strlen(a);j++)
    if(s[i]==a[j]) b[j]=b[j]+1;
    }
    cout <<"Your input: "<<s<<endl;
    char gn[100], x[100];
    int j=0, k=0;
    for(int i=0;i<strlen(a);i++)
    if(b[i]!=0)
    {
    gn[j]=b[i]+48;
    j++;
    gn[j]=a[i];
    x[k]=a[i];
    k++;
    j++;
    }
    cout <<"
    Xau nen la: ";
    for(int i=0;i<j;i++)
    cout <<gn[i];
    cout <<"
    Xoa so trong xau: ";
    for(int i=0;i<k;i++)
    cout <<x[i];
    getch();
    }
    nghĩ mãi k giải quyết đc hề hề. thank bạn nhiều, nhờ cái ý tưởng +48 của bạn [IMG]images/smilies/biggrin.png[/IMG] mình ra đc đoạn code này góp ý mình phát chiều đi phỏng vấn.
    Mã:
    #include <stdio.h>
    void main(){
    printf("Nhap truoi
    ");
    char *inSt=new char[];
    scanf("%s",inSt);
    
    int lenSt=0;
    for(int i=0;inSt[i]!='\0';i++){
    lenSt++;
    }
    long count=1;
    long index=0;
    
    for(int i=0;i<lenSt;i++){
    	if(inSt[i]==inSt[i+1]){
    	count++;
    	}else {
    		if(count>1){
    		inSt[index]=count+48;
    			index++;
    		inSt[index]=inSt[i-1];
    			index++;
    			count =1;
    		}else{
    			inSt[index]=inSt[i];
    			index++;
    		}
    	}
    }
    inSt[index]='\0';
    
    printf("%s
    ",inSt);
    
    }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •